前言
- TTC_84让wang78学习真的插板法并学习容斥,于是sbmqwm让msjing滚去学,
sbmqwm怎么这么坏
- 提示:由于msjing是大飞舞,所以此文基本就是学习笔记了,
所以与oiwiki查重率120%
sbmqwm:大飞舞msjing之前组合数白学了吗;msjing:555窝措了
插板法基础
- 将一个长度为 \(n\) 的序列分成 \(m\) 段非空段,问有几种分法(\(n\) 中元素等价)
- 上述为正整数和的数目,即求 \(\sum\limits_{i=1}^{m}{x_i} = n\) 的正整数解的个数
- 相当于在 \(n-1\) 个空中插入 \(m-1\) 个板,有
$C_{n-1}^{m-1}$
插板法进阶
- 扩展一下,若改为可空段,问分法
- 上述为非负整数和的数目,即求 \(\sum\limits_{i=1}^{m}{x_i} = n\) 的非负整数解的个数
- 不好搞,我们要转化一下,我们直接虚空掏 \(m\) 个点,这样可以保证不会有空,在这 \(n+m-1\) 个空中插入 \(m-1\) 个板,然后再拿走这 \(m\) 个虚空点,由于元素等价,就有
$C_{n+m-1}^{m-1}$
$C_{n+m-1}^{n}$
插板法再进阶
- 我们进一步扩展,若限制第 \(i\) 组的选的元素的个数,即要求:第 \(i\) 组选 \(a_i\) 个元素,其中 \(\sum a_i \le n\)
- 上述为不同下界整数和的数目,即求 \(\sum\limits_{i=1}^{m}{x_i} = n\) 的解的数目,要求 \(a_i \le x_i\)
- 更难搞,同上处理,先从虚空掏 \(\sum a_i\) 个点出来,保证限制满足,令 \(x_i' = x_i + a_i\),就有:
$\sum_{i=1}^{m}{x_i'} = n - \sum a_i$
- 此时我们干掉了限制就可以用非负整数和的解个数来求了,有
$C_{n-\sum a_i + m-1}^{n-\sum a_i}$
插板法与容斥结合
- 我们将上面的限制反一下,即 \(a_i \ge x_i\)
- 上述为不同上界整数和的数目(吧?),即求 \(\sum\limits_{i=1}^{m}{x_i} = n\) 的解的数目,要求 \(a_i \ge x_i\)
- 这就要利用容斥搞一下了
- 令 \(\mathbb{U}\) 为 \(\sum\limits_{i-1}^{m}{x_i} = n\) 的非负整数解, \(S_i\) 表示合法解
- 捣鼓一下可以搞出来:
$\left|\bigcap\limits_{i=1}^{m}\right| = |\mathbb{U}| - \left|\bigcup\limits_{i=1}^{m}{S_i}\right|$
posted @
2026-07-09 17:10
msjing
阅读(
12)
评论()
收藏
举报