错排问题
  • 板块学术版
  • 楼主xiejinhao
  • 当前回复4
  • 已保存回复4
  • 发布时间2020/8/21 12:16
  • 上次更新2023/11/6 19:46:47
查看原帖
错排问题
196649
xiejinhao楼主2020/8/21 12:16

没错我又来了……

昨天的帖子

大概就是问一个长度为 nn 的多重集,求其满足排列后恰有 kk 个位置的数上与原来排列不同的排列数量。

可能有点绕

具体看昨天的帖子。

有位巨佬提供了一个二项式反演的解法:

我个人认为,你考虑二项式反演,那么答案是

kK(1)kK(nk)(nk)![zk]i=1mj=0cizjj!\sum_{k\ge K} (-1)^{k-K} \binom{n}{k} (n-k)! [z^k] \prod_{i=1}^m \sum_{j=0}^{c_i} \frac{z^j}{j!}

(共 mm 种数,cic_i 是第 ii 种数的个数)其中 (1)kK(nk)(-1)^{k-K}\binom{n}{k} 是反演系数,(nk)!(n-k)! 是剩下的进行排列组合,后面的多项式乘积部分是将可重的部分去掉。那么你可以分治乘 O(nlog2n)O(n\log^2 n) 地解决这个问题了。

具体也可以看昨天的帖子。

现在求问:此算法的正确性和原因(为何用二项式反演以及这个式子怎么来的),当然若这个式子不正确则怎样的式子是正确的?

还有一个问题,昨天的这位巨佬说其中的 zz 为多项式的占位符,而百度上并没有这种说法,特此求教。

题目版权问题再说吧……

2020/8/21 12:16
加载中...