传送门 思路 又见到这个\(k\)次方啦!按照套路,我们将它搞成斯特林数: \[ ans_x=\sum_{i=0}^k i!S(k,i)\sum_y {dis(x,y) \choose i} \] 前面可以枚举,考虑后面那东西怎么求. 我们不知道为什么但就是考虑DP:设: \[ dn_{x,t}=\sum_{y\in x} {dis(x,y) \choose t}\\ up_{x,t}=\sum_{y\notin x} {dis(x,y) \choose t} \] 其中\(y\in x\)表示…
传送门:洛谷 题目大意:设$$S(i)=\sum_{j=1}^ndis(i,j)^k$$,求$S(1),S(2),\ldots,S(n)$. 数据范围:$n\leq 50000,k\leq 150$ 这道题,看见$k$次方和就直接上斯特林数. $$S(x)=\sum_{i=0}^ki!S(k,i)\sum_{y=1}^nC_{dis(x,y)}^i$$ 然后我们考虑求最后一项. 设$$up_{x,t}=\sum_{y\notin x}C_{dis(x,y)}^t,dn_{x,t}=\sum_{y…
传送门 对于点\(u\),所求为\[\sum_{i=1}^ndis(i,u)^k\] 把后面那堆东西化成第二类斯特林数,有\[\sum_{i=1}^n\sum_{j=0}^kS(k,j)\times j!\times{dis(i,u)\choose j}\] \[\sum_{j=1}^nS(k,j)\times j!\sum_{i=0}^k{dis(i,u)\choose j}\] 于是对于每个点只要维护好\(\sum_{i=0}^k{dis(i,u)\choose j}\)就好了 因为\({n…
题目描述 ​ 给你一棵 n 个点的树,对于树上的每个节点 i,求 \(\sum_{j=1}^ndis(i,j)^k\).其中 \(dis(i,j)\) 为两点在树上的距离. 输入格式 ​ 第一行两个整数 n,k. ​ 接下来 n-1 行,每行两个整数 (x,y),表示一条树边. 输出格式 ​ 一行一个整数,表示答案对 10007 取模的值. 样例输入 5 2 1 2 1 3 2 4 2 5 样例输出 10 7 23 18 18 数据范围 ​ 对于 \(30\%\) 的数据,\(n\le5000,…
题目 [国家集训队] Crash 的文明世界 前置 斯特林数\(\Longrightarrow\)斯特林数及反演总结 做法 \[\begin{aligned} ans_x&=\sum\limits_{i=1}^ndis(i,x)^k\\ &=\sum\limits_{i=1}^n\sum\limits_{j=0}^k\begin{Bmatrix}k\\j\end{Bmatrix}C_{dis(i,x)}^jj!\\ &=\sum\limits_{j=0}^k\begin{Bmatr…
题意 ​ 题目链接:https://www.luogu.org/problem/P4827 ​ 给定一棵 \(n\) 个节点的树和一个常数 \(k\) ,对于树上的每一个节点 \(i\) ,求出 \(\displaystyle \sum_{i=1}^n{\rm dist}^k(i,j)\),其中 \(\rm{dist}\) 函数表示树上两点距离. ​ \(1 \leq n \leq 50000\) ​ \(1\leq k \leq 150\) 思路 ​ 看到求答案 \(k\) 次方的问题,应该联…
Description 给定一棵 \(n\) 个点的树,对于每个点 \(i\) 求 \(S(i)=\sum\limits_{j=1}^n \operatorname{dist(i,j)}^k\) .\(n\leq 50000,k\leq 150\). Sol 根据斯特林展开,原式化为 \[ \begin{align}S(i)= & \sum\limits_{j=1}^n \sum\limits_{p=0}^k S(k,p)\cdot \dbinom{\operatorname{dist(i,j)…
不错的树形$ DP$的题 可为什么我自带大常数啊$ cry$ 链接:here 题意:给定一棵$ n$个节点的树,边权为$ 1$,对于每个点$ x$求$ \sum\limits_{i=1}^n dist(x,i)^k$ 数据范围:$ n<=50000,k<=150$ $ Solution$ 直接推式子 上下$ DP$先考虑子树内的贡献 有$ in(x)^k=\sum\limits (in(son[x])+1)^k$ 这是因为自己子树内的每个点到自己的距离都$ ++$ 再考虑子树外的贡献 有$ o…
题面 这种套着高次幂的统计问题一般都要用到第二类斯特林数和自然数幂的关系:$a^k=\sum\limits_{i=0}^{k}S_k^iC_a^i*i!$ 那么对于每个点$x$有: $ans_x=\sum\limits_{i=0}^k S_{k}^i C_{\sum dis(x,j)}^i i!$ 问题变成求$C_{\sum dis(x,j)}^i$,神仙告诉我们,这个东西要DP求 为什么要DP求?先往下看 那么就设$dp[i][k]$表示以i为根的子树里$C_{\sum dis(i,j)}^k…
先写一个五十分的思路吧 首先这道题有一个弱化版 [POI2008]STA-Station 相当于\(k=1\),于是就是一个非常简单的树形\(dp\)的\(up\ \ and\ \ down\)思想 但是我们现在要求的是这个柿子了 \[\sum_{j=1}^ndis(i,j)^k\] 感觉这个东西很组合数学啊,感觉这个柿子像是天生为二项式定理准备的 我们还是考虑树形\(dp\) 在第一遍\(up\)的时候,我们设\(dp[i][k]\)表示 \[\sum_{j\in{i}}dis(i,j)^k\…