题意
给定一棵(n)个点的树,要求每个点到(r)距离为(K)的路径个数
做法一
换个东西,改成从(r)出发,然后距离(K)走到每个点
(O(n^2))求出特征多项式,论文
然后(A^k=sumlimits_{i=0}^{n-1}c_iA^i)
(A)中只有(O(n))个位置有值,((A^{i+1})_{r,x}(xin [1,n]))可以通过((A^i)_{r,x}(xin [1,n])),(O(n))递推过来
做法二
这个东西是有线性递推式的,说详细点
(S(A^k))表示(A^k)上某些位置的和,这个关于(k)是有线性递推的
然后先只考虑一个位置((i,j)),要维护的东西是一行,然后仿佛乘上(A),这显然是个线性递推
在考虑进所有的位置,乘上(A)压起来表示显然都是一样的嘛
然后大力BM插就好了
题外话
做法一是官方题解,限于此题,就没看了,感兴趣的就去看下吧,应该还挺好玩的