排列组合基础方法
排列组合基础方法:
定义就不说了。
方法:
-
定序问题:缩倍法。
\(n\) 个物品,其中 \(m\) 个顺序一定(不一定相连): \(\frac{A_n^n}{A_m^m}\) (有时 \(m\) 相同也视为定序,有多个 \(m\) 就除以 \(\prod A_{m_i}^{m_i}\))
-
相邻、小团体问题:捆绑法。
\(n\) 个物品,其中 \(m(m<n)\) 个要求相邻: \(A_{n-m}^{n-m}\times A_m^m\) (将 \(m\) 看做整体,别忘了 \(\times A_m^m\) )。
-
等分 \(n\) 排:多排看做一排。
-
不相邻问题:插空法。
\(n\) 个物品,其中 \(m\) 个不相邻(保证有解): \(A_{n-m}^{n-m}\times A_{n-m+1}^{m}\) ( \(m\) 插进 \(n\) 的间距里)
-
有特殊要求先算特殊要求。
-
分物品:插板法。
\(n\) 个物品分给 \(m\) 个人(保证有解):
-
每人至少一个:\(C_{n-1}^{m-1}\) (在 \(n-1\) 个空里插 \(m-1\) 个板,使其分成 \(m\) 份,每份至少一个,直接插板)
-
每人至少 \(k\) 个:\(C_{n-m(k-1)-1}^{m-1}\) (先每人份 \(k-1\) 个,在插板)
-
可以有人没有:\(C_{n+m-1}^{m-1}\) (先从每人拿来一个,在插板)
-
-
对于个数不限的问题:
经典的,从 n 种颜色的球中取出 \(m\) 个,每种颜色的球有无穷多个,求方案数。
可以将个数无限的当成是盒,问题就变成了将 \(m\) 个球放进 \(n\) 个盒子里,每个盒子可以不放,求方案数,用插板法可解。
-
小球和盒的十二重组合:
虽然和P5824 十二重计数法题一模一样,但非正解,只是将基础的部分方法写了(因为我不会生成函数、卷积……以后没准会补
因为重点是简单的组合,所以会讲的很详细
啰嗦有 \(n\) 个球,\(m\) 个盒
-
球不相同,盒不相同,
-
无限制:显然是 \(n^m\)
-
最少放一个:考虑容斥
-
容斥:
设 \(g_k\) 表钦定有 \(k\) 个盒子不为空,\(f_k\) 表示恰好。
则有
\[g_k=k^n \]\[g_k=\sum\limits_{i=0}^{k}\dbinom{k}{i}f_i \]反演得
\[\begin{aligned}f_m&=\sum\limits_{i=0}^{m}(-1)^{m-i}\dbinom{m}{i}g_i\\&=\sum\limits_{i=0}^{m}(-1)^{m-i}\dbinom{m}{i}i^n\end{aligned} \]
-
-
最多放一个:
对于 \(n>m\) 显然为 \(0\)
对于其他的,一个一个放置,为 \(m^{\underline{n}}\)
-
-
球相同,盒不相同:
插板,具体见上。
-
球不相同,盒相同:
-
无限制:枚举非空盒的个数,答案为:
\[\sum\limits_{i=1}^m\begin{Bmatrix}m\\i\end{Bmatrix} \] -
最少放一个:就是 \(\begin{Bmatrix}n\\m\end{Bmatrix}\) 的定义。
\(\begin{Bmatrix}n\\m\end{Bmatrix}\) 的求法:
考虑球不相同,盒不相同的方案数 \(F\),在前面已经用容斥求过,发现 \(\begin{Bmatrix}n\\m\end{Bmatrix}=\frac{F}{m!}\),然后就可求了。
-
最多放一个:显然,当 \(n>m\) 时不存在,当 \(n\le m\) 时只有一种情况(其他可以排列获得。
-
-
球相同,盒相同:
-
无限制:
这个东西相当于是划分数。
这里只提供
dp
,不提供优化。设 \(dp_{i,j}\) 表示将 \(i\) 分成不超过 \(m\) 个数的和的方案数(就是划分数
有显然转移:
\[dp_{i,j}=dp_{i-j,j}+dp_{i,j-1} \]就是考虑全部加一或者是新分一个为 \(0\) 的数。
-
最少放一个:先将每个都放一个球即可。
-
最多放一个:显然是 \([n<=m]\)
-
-
本文来自博客园,作者:xrlong,转载请注明原文链接:https://www.cnblogs.com/xrlong/articles/17617989.html