<学习笔记> 组合数学

插板法#

问题一:现有 n 个 完全相同的元素,要求将其分为 k 组a,保证每组至少有一个元素,一共有多少种分法?

考虑拿 k1 块板子插入到 n 个元素两两形成的 n1 个空里面。

所以答案就是

(n1k1)

问题二:如果问题变化一下,每组允许为空呢?

显然此时没法直接插板了,因为有可能出现很多块板子插到一个空里面的情况,非常不好计算。

我们考虑创造条件转化成有限制的问题一,先借 k 个元素过来,在这 n+k 个元素形成的 n+k1 个空里面插板,答案为

(n+k1k1)

再思考一下,若是从 n 个数字中选可重复的 m 个数的方案数,这与问题二类似

我们把 m 个元素中插入 n1 个隔板,我们从这 n+m1 个元素中选 n1 个元素作为隔板,第 i1 个隔板和第 i 个隔板之间的元素个数即为第 i 个数字所选的个数。也就是将 m 个元素分为 n 组,且可以为空。

(m+n1n1)

组合恒等式#

1#

(n+m1n1)

m 的补集与 m 的方案数是相同的。

加法公式#

(2)(nm)=(n1m)+(n1m1)

组合推理:考虑选不选第 n 个,不选的情况为 (n1m) ,选的情况为 (n1m1)

上指标求和法则#

(13)i=0n(ik)=(n+1k+1)

可以利用加法公式,通过归纳法证明

(53)

=(42)+(43)

=(42)+(32)+(33)

=(42)+(32)+(22)+(23)

=(42)+(32)+(22)+(12)+(13)

=(42)+(32)+(22)+(12)+(02)+(03)

现在 (03) 为零,所以不需要再推,其实(02) (12) 也为零,但保留的话可以清晰看出一般形式。

下指标求和法: 莫队

组合推理:在 n+1 个球里拿 k+1 个为(n+1k+1),最后一个拿的是第 i 个,则情况数为 (ik),累加即为所求。

平行求和法#

(14)i=0n(m+ii)=(n+m+1n)

证明:

i=0n(m+ii)=i=0n(m+im)=i=mn+m(im)+0=i=mn+m(im)+i=0m1(im)=i=0n+m(im)=(n+m+1m+1)=(n+m+1n)

给道例题 BZOJ 4403序列统计

作者:bloss

出处:https://www.cnblogs.com/jinjiaqioi/p/17494893.html

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

posted @   _bloss  阅读(59)  评论(3编辑  收藏  举报
相关博文:
阅读排行:
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探
· 为什么 退出登录 或 修改密码 无法使 token 失效
点击右上角即可分享
微信分享提示
more_horiz
keyboard_arrow_up dark_mode palette
选择主题
menu