题意 给定一个有 $n$ 个结点的树,设 $S(i)$ 为第 $i$ 个结点的“指标值”,定义为 $S(i)=\sum_{i=1}^{n}dist(i,j)^k$,$dist(i, j)$ 为结点 $i$ 到结点 $j$ 的最小距离.请输出每个结点的指标值.($n \leq 5000, k \leq 150$) 分析 一个常用的转化 $$n^k=\sum_{i=0}^{k}S(k,i) \times C(n,i) \times i!$$ 证明可以考虑组合意义,等式的左边就是把 $k$ 个球放在…
题意 给定一棵 \(n\) 个点的树和一个常数 \(k\) , 对于每个 \(i\) , 求 \[\displaystyle S(i) = \sum _{j=1} ^ {n} \mathrm{dist}(i, j)^k\] \(n ≤ 50000, k ≤ 150\) 题解 先划划那个 \(S(i)\) 的式子 我们需要知道一个化 \(x^n(n \ge 0)\) 的东西qwq \[\displaystyle x^n=\sum_{k=0}^{n}\begin{Bmatrix} n \\ k \e…
传送门 题意: 给出一颗\(n\)个结点的树,对于每个结点输出其答案,每个结点的答案为\(ans_x=\sum_{i=1}^ndis(x,i)^k\). 思路: 我们对于每个结点将其答案展开: \[ \begin{aligned} ans_x=&\sum_{i=0}^{n}\sum_{j=0}^k{dis(x,i)\choose j}j!\begin{Bmatrix} k \\ j \end{Bmatrix}\\ =&\sum_{j=0}^kj!\begin{Bmatrix} k \\ j…
传送门 题意: 从\(n\)个人中选\(r\)个出来,但每两个人的标号不能少于\(k\). 再将\(r\)个人分为不超过\(m\)个集合. 问有多少种方案. 思路: 直接\(dp\)预处理出从\(n\)个人选\(r\)个的方案,第二类斯特拉数处理分组的情况即可. /* * Author: heyuhhh * Created Time: 2019/12/10 19:14:48 * dp预处理+第二类斯特林数 */ #include <iostream> #include <algorith…
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2159 学习材料:https://blog.csdn.net/litble/article/details/80882581 https://www.cnblogs.com/Wuweizheng/p/8638858.html http://www.cnblogs.com/zhouzhendong/p/Stirling-Number.html https://blog.csdn.net/qq_…
传送门 对于点\(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*k^2\)的做法比较好想,就是维护一个\(x^i\)这种东西,然后转移的时候用二项式定理拆开转移.然后有一个比较有意思的结论就是把求\(x^i\)这种东西变成组合数去求,具体来说就是\(n^k=\sum\limits_{i=1}^k\dbinom{n}{i}*S[k][i]*i!\),\(S\)表示第二类斯特林数,第二类斯特林数可以表示为有\(n\)个盒子要装\(m\)个小球,然后在给盒子和求加上编号就可以得出上面的式子.这样的话在根据帕斯卡…
[BZOJ2159]Crash的文明世界(第二类斯特林数,动态规划) 题面 BZOJ 洛谷 题解 看到\(k\)次方的式子就可以往二项式的展开上面考,但是显然这样子的复杂度会有一个\(O(k^2)\),因此需要换别的方法. 注意到自然指数幂和第二林斯特林数之间的关系: \[n^k=\sum_{i=0}^k \begin{Bmatrix}k\\i\end{Bmatrix}{n\choose i}i!\] 那么将答案式化简 \[\begin{aligned} Ans_x&=\sum_{i=1}^N…
题意 ​ 题目链接: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\) 次方的问题,应该联…
题面 解析 这题一眼换根DP啊 首先,我们考虑一下如何转换\(n^m\)这个式子, 先把式子摆出来吧:\(n^m=\sum_{j=0}^mS(m,j)C_n^jj!\) 其中\(S(m,j)\)表示第二类斯特林数, (其实就是把\(m\)个不同的小球放到\(j\)个相同的盒子里,且盒子不为空的方案数) 我们感性理解一下(懒得不会推式子), \(n^m\)其实就表示将\(m\)个不同的球放入\(n\)个不同的盒子里, 而我们可以枚举有\(j\)个盒子里面放了小球, 那么方案数就是\(S(m,j)\…