没错我又来了……
昨天的帖子
大概就是问一个长度为 n 的多重集,求其满足排列后恰有 k 个位置的数上与原来排列不同的排列数量。
(可能有点绕)
具体看昨天的帖子。
有位巨佬提供了一个二项式反演的解法:
我个人认为,你考虑二项式反演,那么答案是
∑k≥K(−1)k−K(kn)(n−k)![zk]∏i=1m∑j=0cij!zj
(共 m 种数,ci 是第 i 种数的个数)其中 (−1)k−K(kn) 是反演系数,(n−k)! 是剩下的进行排列组合,后面的多项式乘积部分是将可重的部分去掉。那么你可以分治乘 O(nlog2n) 地解决这个问题了。
具体也可以看昨天的帖子。
现在求问:此算法的正确性和原因(为何用二项式反演以及这个式子怎么来的),当然若这个式子不正确则怎样的式子是正确的?
还有一个问题,昨天的这位巨佬说其中的 z 为多项式的占位符,而百度上并没有这种说法,特此求教。
题目版权问题再说吧……