树上竞技 和 下落的小球 两道题都是很不错的树上的问题转换
树上竞技
对于边权和的问题,按套路来,找各个边的贡献即可
首先发现结论,对于一条边的两端,如果一端的人数大于另一端的人数
那么把集合点移向人多的一端肯定更优
设两端的点分别为 \(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)\) 个操作,再进行剩下的操作,且互不影响
那我们可以分别合并前一半操作和后一半操作
那么就可以得到该节点的操作序列方案了
标签:frac,套路,sum,小球,问题,操作,binom 来源: https://www.cnblogs.com/zjxlm/p/15365169.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。