常用计数技巧和方法(应用篇)
文章较长且大量使用 (LaTeX) 导致渲染较慢,因此分为两个部分
由于计数方面的知识非常的繁细,容易忘记,使用时不够熟练,这里总结一下
以下内容有所借鉴百度百科和大佬的 blog %%%
基础知识请去这里 常用计数技巧和方法(理论篇)
此文章持续更新
组合论的一些实战应用
均匀分布最大次序统计量的期望为 (frac {k}{k+1}(n+1))
即从 (1 o n) 随机选出 k 个数最大值的期望
考虑最大值为 x 的概率
[p(x) = frac {x-1choose k-1}{n choose k} \
]
答案为
[Ans = sum_{x=1}^n p(x)*x\=frac {1}{n choose k}sum_{x=1}^n {x-1choose k-1} cdot x\=frac {k}{n choose k}sum_{x=1}^n {xchoose k}\=frac {k}{n choose k}{n+1choose k+1}\=frac {k}{k+1}(n+1)\
]
同理可证最小值期望为 (frac {n+1}{k+1})
洛谷P5824 十二重计数法
n 球, m 盒,球放到盒子里的方案数
球不同,盒子不同: (m^n)
球不同,盒子不同,每个盒子最多装一个:(A_{m}^n)
球不同,盒子不同,每个盒子最少装一个:容斥转化为第一问题
球不同,盒子相同:第二类斯特林数
球相同,盒子不同:隔板法
球相同,盒子相同:拆分数
拆分数多项式解法:
(f[n][k] : n 拆分成k份方案数)
[f[n][k] = f[n-k][k] + f[n-1][k-1]\S_k = S_{k-1}*x + S_k*x^k\S_k = frac {S_{k-1}}{1-x^k} = prod_{j = 1}^k frac 1{1-x^j}\
]
对 S 取 ln 再 exp 回去
[G = ln(1 - x^n)\G' = frac{-nx^{n-1}}{1-x^n}\= -nx^{n-1}*(1+x^n+x^{2n}+x^{3n}+cdots)\G = -sum_{j=1}^{infty}frac{x^{nj}}{j}\S_k = exp(sum_{j=1}^k -G_j)
]
错排问题的多种解法
动态规划 (Theta(n))
(dp[x] = (x-1)(dp[x-1]+dp[x-2]))
考虑 x 会放到哪,首先可以随便放到前 (x-1) 的位置上,就会有一个数 y 被顶出来,如果 y 放到了 x 的位置上,方案数为 (dp[x-2]),如果 y 不可放到 x 的位置上,将是 x - 1 大小的错排
二项式反演
一个排列的全排列可以通过枚举有几个数错位表示
[n! = sum_{i=0}^n{n choose i}f(i)\f(n) = sum_{i=0}^n (-1)^{n-i}{nchoose i}i!\=sum_{i=0}^n (-1)^{n-i}frac{n!}{(n-i)!}\= n!sum_{i=0}^nfrac{(-1)^i}{i!}
]
容斥
[f(n) = sum_{i=0}^n(-1)^i{nchoose i}(n-i)!
]
也可得到上方式子