(多校)“树”的问题
树上竞技 和 下落的小球 两道题都是很不错的树上的问题转换
树上竞技
对于边权和的问题,按套路来,找各个边的贡献即可
首先发现结论,对于一条边的两端,如果一端的人数大于另一端的人数
那么把集合点移向人多的一端肯定更优
设两端的点分别为 \(s\) 和 \(n-s\)
那么该边的贡献为:
\[\sum_{i=1}^{m-1}\binom{s}{i}\binom{n-s}{m-i}+min(i,m-i)
\]
按套路来,把 \(min\) 去掉,得
\[\sum_{i=1}^{\frac{m-1}{2}} ( \binom{s}{i}\binom{n-s}{m-i}i+\binom{s}{m-i}\binom{n-s}{i}(m-i) ) +[m\%2=0]\binom{s}{\frac{m}{2}}\binom{n-s}{\frac{m}{2}}\frac{m}{2}
\]
第二部分最后特判即可
考虑第一部分如何转移
首先加号两边的式子是等价的,还是套路,为简化式子,把 \(i\) 乘进去:
\[S\sum_{i=1}^{\frac{m-1}{2}}\binom{s-1}{i-1}\binom{n-s}{m-i}
\]
令:
\[G(s)=\sum_{i=1}^{\frac{m-1}{2}}\binom{s-1}{i-1}\binom{n-s}{m-i}
\]
考虑怎么由 \(G(s)\) 转移到 \(G(s+1)\)
题解很巧妙地用几何意义来转移,可以借鉴学习一下
\(G(s)\) 的几何意义为:(令 \(k=\frac{m-1}{2}\))
在 \(n-1\) 个物品中选 \(m-1\) 个物品,且前 \(s-1\) 个物品中最多放 \(k-1\) 个的方案数
当 \(G(s)\) 转移到 \(G(s+1)\) 时,只有前 \(s-1\) 个选了 \(k-1\) 个,且 \(s\) 也被选中的情况不会被算,所以:
\[G(s+1)=G(s)-\binom{s-1}{k-1}*\binom{n-s-1}{m-k-1}
\]
综上,一条边的贡献为:
\[G(s)*s+G(n-s)*(n-s)+[m\%2=0]\binom{s}{\frac{m}{2}}\binom{n-s}{\frac{m}{2}}\frac{m}{2}
\]
下落的小球
首先考虑无解情况,令 \(b(i)\) 为 \(i\) 子树叶子的操作数之和,\(c(i)\) 为 \(i\) 子树中的小球剩余量,那么恒有 \(b(i)-s(i)>=0\)
对于在该子树内的操作序列,前 \(b(i)-s(i)\) 个操作子树内小球的状态是不变的,后 \(s(i)\) 个操作尽是该子树内的小球状态变化
那么对于一个节点,考虑合并儿子的子树,
首先每个儿子节点一定是先进行各自的前 \(b(j)-s(j)\) 个操作,再进行剩下的操作,且互不影响
那我们可以分别合并前一半操作和后一半操作
那么就可以得到该节点的操作序列方案了