传送门
题意:
给一棵树,边权为 1,对于每个点 i,输出 ∑ j = 1 n d i s ( i , j ) m , n ≤ 50000 , m ≤ 500 ∑_{j=1}^ndis(i, j)^m,n ≤ 50000, m ≤ 500 ∑j=1ndis(i,j)m,n≤50000,m≤500
思路:
考虑对所有的 i ∈ [ 0 , m ] i\in[0,m] i∈[0,m]维护 ∑ d i s i ‾ \sum dis^{\underline i} ∑disi。
然后要用到一个下降幂之间的转化:
( x + 1 ) i ‾ = x i ‾ + i x i − 1 ‾ (x+1)^{\underline i}=x^{\underline i}+ix^{\underline{i-1}} (x+1)i=xi+ixi−1
于是对于一个点 p p p:
A n s p = ∑ v = 1 n d i s p , v m Ans_p=\sum_{v=1}^ndis_{p,v}^m Ansp=v=1∑ndis
bzoj2159: Crash 的文明世界(树形dp+第二类斯特林数)
![](https://img-home.csdnimg.cn/images/20240711042549.png)