引入

二项式反演又名广义容斥定理
二项式反演可以表示成:
f[n]=∑i=0n(−1)iCnigi⟺gn=∑i=0n(−1)iCnif[i]f[n]=\sum_{i=0}^n(-1)^iC_{n}^{i}g_{i}⟺g_{n}=\sum_{i=0}^{n}(-1)^iC_{n}^{i}f[i]f[n]=∑i=0n​(−1)iCni​gi​⟺gn​=∑i=0n​(−1)iCni​f[i]
常用表达为:
f[n]=∑i=0nCnig[i]⟺g[n]=∑i=0n(−1)n−iCnif[i]f[n]=\sum_{i=0}^{n}C_{n}^ig[i]⟺g[n]=\sum_{i=0}^{n}(-1)^{n-i}C_{n}^if[i]f[n]=∑i=0n​Cni​g[i]⟺g[n]=∑i=0n​(−1)n−iCni​f[i]
证明详见:二项式反演理解与证明

应用

恰好和至多的转换:
设f[i]f[i]f[i]表示恰好的方案数,g[i]g[i]g[i]表示至多的方案数,则有:g[n]=∑i=0nCni∗f[i]g[n]=\sum_{i=0}^nC_{n}^i*f[i]g[n]=∑i=0n​Cni​∗f[i]
根据二项式反演有:
f[n]=∑i=0n(−1)n−i∗Cni∗gif[n]=\sum_{i=0}^n(-1)^{n-i}*C_{n}^i*g_if[n]=i=0∑n​(−1)n−i∗Cni​∗gi​
gig_igi​可以在很短的时间内求出,再用g求f就得到答案

恰好和至少的转换:
设f(i)表示恰好有i个的方案数,g(i)至少有i个的方案数f(i)表示恰好有i个的方案数,g(i)至少有i个的方案数f(i)表示恰好有i个的方案数,g(i)至少有i个的方案数
有式子:g(i)=∑x=inCxi∗f(x)g(i)=\sum_{x=i}^{n}C_{x}^i*f(x)g(i)=∑x=in​Cxi​∗f(x)
根据二项式反演有:
f(i)=∑x=in(−1)x−i∗Cxi∗g(x)f(i)=\sum_{x=i}^n(-1)^{x-i}*C_{x}^i*g(x)f(i)=∑x=in​(−1)x−i∗Cxi​∗g(x)

球染色问题:n个球,k个颜色,求满足相邻颜色不同,每种颜色至少出现一次的方案数
解决方案:如果忽略每种颜色至少出现一次的限制,那么方案数就是k(k−1)n−1k(k-1)^{n-1}k(k−1)n−1,就是一次安排颜色,除了第一次k个随便放,之后每次都是只能选k-1个(因为要和上一个不同)
设fif_ifi​表示恰好使用i种颜色的方案数。gkg_kgk​表示n个球,用了k种颜色,不强制每种颜色必须出现的方案数。那么问题就是求fnf_nfn​
先将函数fff与ggg建立联系
g[k]=k(k−1)n−1=∑i=0kCki∗f[i]g[k]=k(k-1)^{n-1}=\sum_{i=0}^kC_{k}^i*f[i]g[k]=k(k−1)n−1=i=0∑k​Cki​∗f[i]
我们反演可得:
f[k]=∑i=0kCki∗g[i]f[k]=\sum_{i=0}^{k}C_{k}^{i}*g[i]f[k]=∑i=0k​Cki​∗g[i]
f[k]=∑i=0kCki∗(−1)k−i∗g[i]f[k]=\sum_{i=0}^{k}C_{k}^i*(-1)^{k-i}*g[i]f[k]=∑i=0k​Cki​∗(−1)k−i∗g[i]

例题:

hdu P1465:最不容易系列之一
luogu P4859 已经没有什么好害怕的了
[NOI Online #2 T3]游戏

二项式反演(非详细)相关推荐

  1. 集合计数 二项式反演_对计数数据使用负二项式

    集合计数 二项式反演 The Negative Binomial distribution is a discrete probability distribution that you should ...

  2. 洛谷·幼儿园篮球题【including范德蒙德卷积,二项式反演

    初见安~时隔良久我又回来写多项式了[靠 还是放在题目前面吧,简单讲一下这两个东西. 一.范德蒙德卷积 可以理解为:在两个有n个石子和m个石子的堆里面共选k个石子的方案数.这样这个等式的成立就很显然了. ...

  3. ACM数论之旅17---反演定理 第一回 二项式反演(神说要有光 于是就有了光(´・ω・`))...

    终于讲到反演定理了,反演定理这种东西记一下公式就好了,反正我是证明不出来的~(-o ̄▽ ̄)-o 首先,著名的反演公式 我先简单的写一下o( ̄ヘ ̄*o) 比如下面这个公式 f(n) = g(1) + g ...

  4. 二项式反演[bzoj3622]已经没有什么好害怕的了

    前言 继续学习容斥的技巧! 题意简介 题面链接 题目大意 给出两个数组a,ba,ba,b 求有多少种对应方式使得有恰好kkk对匹配(i,j)(i,j)(i,j)满足ai>bja_i>b_j ...

  5. [2021.1.27多校省选模拟10]染色(min-max容斥/二项式反演)

    [2021.1.27多校省选模拟10]染色 突然发现我对概率期望的理解不是很好... 部分分1:可以直接进行状压dp,然后按照题意模拟即可. 部分分2:首先可以发现这个问题是min_max容斥形式,然 ...

  6. P6295 有标号 DAG 计数(多项式指数函数对数函数/二项式反演/动态规划/生成函数)

    P6295 有标号 DAG 计数 https://www.luogu.com.cn/problem/P6295 求解n个点的有标号弱联通DAG个数 首先根据exp的组合意义,我们考虑指数型生成函数,那 ...

  7. 【UOJ574】多线程计算【二元二项式反演】【定积分】【矩阵】【NTT 卷积】

    题意:有 n×mn\times mn×m 的网格,每个结点在 [0,1)[0,1)[0,1) 内的一个随机时刻被点亮.有 hhh 个数对 xi,yix_i,y_ixi​,yi​,对于一个瞬间状态,如果 ...

  8. 【LOJ6072】苹果树【折半搜索】【矩阵树定理】【二项式反演】

    题意:有好坏两种点共 nnn 个,每个好点有权值,把这 nnn 个点连成一棵树,一个好点为有用的当且仅当它至少与一个好点相邻,求所有有用的点的权值和不超过 limlimlim 的方案数. n≤40n\ ...

  9. 【NOI online 2】游戏【二项式反演】【树上背包】

    题意:一棵n=2mn=2mn=2m个点的树,mmm个白点和mmm个黑点.对于k∈[0,n]k\in [0,n]k∈[0,n],求出 把点黑白两两配对使得恰好有kkk对点有祖孙关系 的方案数 模9982 ...

最新文章

  1. 最近对Allegro的几个总结
  2. MapReduce工作流理解
  3. SAP评估控制 Valuation control
  4. WinSock嗅探虚拟主机拿站取webshell
  5. artTemplate 简介语法模板
  6. python-mysql超简单银行转账
  7. 现身说法,给职场新人的投资理财建议
  8. 基于JAVA+SpringBoot+Mybatis+MYSQL的园区招商管理系统
  9. 第 19 次 CCF CSP 认证 202006-1 线性分类器(line)
  10. Dnsmasq安装与配置-搭建本地DNS服务器 更干净更快无广告DNS解析
  11. python实现自动提取句子中的关键字
  12. 前端跨域 ——实践总结,亲测有效
  13. openwrt 自动签到插件-食用指南
  14. matlab数学建模程序代码大全,matlab程序代码
  15. 程序猿学习中华古诗词路径
  16. 发微博利器 FaWave(发微)---- chrome扩展程序
  17. matlab 扫雷,matlab 扫雷
  18. 行走在前端路上的一些想法
  19. 学习SQL的侦探游戏
  20. 《计算机视觉工程师养成计划 》·数字图像处理·数字图像特征·链码

热门文章

  1. 年仅53岁,因连续工作、过度劳累,这位抗疫幕后的科研专家去世
  2. 为什么一流成功人士的闹钟都定在早晨5:57?
  3. android 拍照换头像,Android调用相机拍照,裁剪及更换头像功能的实现
  4. php 信号量 关闭,php 信号量
  5. mysql映射超_Hibernate的映射类型 hibernate mysql映射类型
  6. Java常用的知识点就20_JAVA中一些需要记录的知识点
  7. go float64 比较_Go 每日一库之 plot
  8. 频谱分析幅值单位_案例分享丨某水泥厂入窑斗提减速机不对中故障分析及处理...
  9. mysql同时查两张表数据库表_如何同时查询两个数据库表?
  10. linux删除grid数据文件,MongoDB进阶系列(13)——GridFS大文件的添加、获取、查看、删除...