二项式反演(非详细)

引入

二项式反演又名广义容斥定理
二项式反演可以表示成:
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)iCnigign=i=0n(1)iCnif[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=0nCnig[i]g[n]=i=0n(1)niCnif[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=0nCnif[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=0n(1)niCnigi
gig_igi可以在很短的时间内求出,再用g求f就得到答案

恰好和至少的转换:
f(i)表示恰好有i个的方案数,g(i)至少有i个的方案数f(i)表示恰好有i个的方案数,g(i)至少有i个的方案数f(i)ig(i)i
有式子:g(i)=∑x=inCxi∗f(x)g(i)=\sum_{x=i}^{n}C_{x}^i*f(x)g(i)=x=inCxif(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)xiCxig(x)

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

例题:

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/315953.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

aelf帮助C#工程师10分钟零门槛搭建DAPP私有链开发环境

aelf是一个可扩展的去中心化云计算区块链平台,支持高性能合约并行执行、原生多链数据交互、存储使用高性能分布式数据库。aelf整个系统可以在windows、osx及linux运行,团队在osx环境下开发,基于.net core DAPP开发1.安装.net core及protobufh…

不容易系列之一

不容易系列之一 题意: n个数,求n个人错排(全部错误)的方案数 题解: 这题地推可以求,咱们这里用二项式反演来做 设f(i)为恰好有i个人错排f(i)为恰好有i个人错排f(i)为恰好有i个人错排,g(i)为最多i个人错排g(i)为最多…

Build 2019 上微软的开源动作有点不一样

微软今年举办的 Build 开发者大会可谓是抢足风头,大会第一天就放了不少大招:宣布新的命令行终端 Windows Terminal、Windows 10 的 Linux 子系统 WSL 2 将运行真正的 Linux 内核、跳过 .NET 4 宣布 .NET 5 的计划、宣布 Web 版本的 VS Code (Visual Stud…

P1437 [HNOI2004]敲砖块

P1437 [HNOI2004]敲砖块 题意: 在一个凹槽中放置了 n 层砖块、最上面的一层有 n 块砖,从上到下每层依次减少一块砖。每块砖都有一个分值,敲掉这块砖就能得到相应的分值,如下图所示: 14 15 4 3 2333 33 76 22 …

在kubernetes 集群内访问k8s API服务

所有的 kubernetes 集群中账户分为两类,Kubernetes 管理的 serviceaccount(服务账户) 和 useraccount(用户账户)。基于角色的访问控制(“RBAC”)使用“rbac.authorization.k8s.io”API 组来实现授权控制,允…

C. 奇奇怪怪的魔法阵(未搞懂)

C. 奇奇怪怪的魔法阵 题意: n个点m条边,定义集合S为独立集,当且仅当任意x,y∈S,x与y之间没有边。空集也是独立集 现在对于每一个点的集合T,有多少子集为独立集 设N0,1,…,n-1,AT∑S⊂T[S是独立集]A_{T}\sum_{S⊂T}[S…

.NET Core之只是多看了你一眼

技术学习是一件系统性的事情,如果拒绝学习,那么自己就会落后以至于被替代。.NET也是一样,当开源、跨平台成为主流的时候,如果再故步自封,等待.NET的就是死路一条,幸好.NET Core问世了,社区反响积…

Educational Codeforces Round 111 (Rated for Div. 2)

Educational Codeforces Round 111 (Rated for Div. 2) 题号题目知识点AFind The ArrayBMaximum Cost DeletionCManhattan SubarraysDExcellent Arrays组合数学思维EStringforces状压dpFJumping Aroundboruvka算法

TOTP 介绍及基于 C# 的简单实现

TOTP 介绍及基于 C# 的简单实现IntroTOTP 是基于时间的一次性密码生成算法,它由 RFC 6238 定义。和基于事件的一次性密码生成算法不同 HOTP,TOTP 是基于时间的,它和 HOTP 具有如下关系:TOTP HOTP(K, T)HOTP(K,C) Truncate(HMAC-…

微软携手红帽,共筑开源新未来

官宣了,官宣了!微软携手红帽正式推出重要力作Global Azure 公有云第一款联合管理的 OpenShift 产品,业界欢腾!自此,微软在拥抱云计算开源之路上,多了一股强劲的推动力。5月初刚刚举办的全球 Red Hat Summit…

CF1550D Excellent Arrays(完全会了更新)

CF1550D Excellent Arrays 题意&#xff1a; 定义一个长度为n的整数序列a是好的仅当对于任意整数i∈[1,n]&#xff0c;都有ai!ia_i !iai​!i 设F(a)等于满足1<i<j<n,aiajija_ia_jijai​aj​ij的(i,j)对数 我们定义一个长度为n的序列a是完美的&#xff0c;仅当&#…

.NET Core 3.0之深入源码理解Startup的注册及运行

开发.NET Core应用&#xff0c;直接映入眼帘的就是Startup类和Program类&#xff0c;它们是.NET Core应用程序的起点。通过使用Startup&#xff0c;可以配置化处理所有向应用程序所做的请求的管道&#xff0c;同时也可以减少.NET应用程序对单一服务器的依赖性&#xff0c;使我们…

置换群,Polya引理和burnside引理(等价类计数问题)

参考文章&#xff1a; 等价类计数问题 Burnside引理&Plya定理 Burnside引理与Polya定理 置换群和Burnside引理&#xff0c;Polya定理 概念引入&#xff1a; 离散数学应该学过置换群的相关概念&#xff0c;置换本质就是映射&#xff0c;可以理解成一个正方形绕其中心逆时针…

时隔两年的重大更新,微软发布.NET Framework 4.8

微软发布了.NET Framework 4.8&#xff0c;这是两年来.NET 框架的第一个重大更新。新版本包含多个产品领域的改进&#xff0c;其中包括 Windows 窗体、WCF、WorkFlow 和 WPF。它还在基类库&#xff08;BCL&#xff09;和通用语言运行时&#xff08;CLR&#xff09;中有一些更新…

P1446 [HNOI2008]Cards

P1446 [HNOI2008]Cards 题意&#xff1a; 有n张牌&#xff0c;染三种颜色&#xff0c;每种颜色规定数目&#xff0c;给出m种不同的洗牌方法。两种染色方法相同当且仅当其中一种可以通过任意的洗牌法&#xff08;即可以使用多种洗牌法&#xff0c;而每种方法可以使用多次&…

EventStore文件存储设计

背景ENode是一个CQRSEvent Sourcing架构的开发框架&#xff0c;Event Sourcing需要持久化事件&#xff0c;事件可以持久化在DB&#xff0c;但是DB由于面向的是CRUD场景&#xff0c;是针对数据会不断修改或删除的场景&#xff0c;所以内部实现会比较复杂&#xff0c;性能也相对比…

CF79D Password(P3943 星空)

CF79D Password&#xff08;P3943 星空&#xff09; 题意&#xff1a; 你有 n 个灯泡&#xff0c;一开始都未点亮。 同时你有 l 个长度&#xff0c;分别为 a1∼ala_1∼ a_la1​∼al​ 每次你可以选择一段连续的子序列&#xff0c;且长度为某个 aia_iai​&#xff0c;并将这些…

.NET Core 如何禁止.resx文件自动生成Designer.cs

点击上方蓝字关注“汪宇杰博客”在 Visual Studio 中&#xff0c;如果我们在一个 .NET Core 工程里加入了一个资源文件&#xff08;.resx&#xff09;&#xff0c;那么你会发现有个对应的 .Designer.cs 文件被自动生成了&#xff0c;每次资源文件的内容有变化&#xff0c;这个设…

P1450 [HAOI2008]硬币购物

P1450 [HAOI2008]硬币购物 题意&#xff1a; 共有 4 种硬币。面值分别为c1,c2,c3,c4c_1,c_2,c_3,c_4c1​,c2​,c3​,c4​。 某人去商店买东西&#xff0c;去了 n 次&#xff0c;对于每次购买&#xff0c;他带了 did_idi​枚 i 种硬币&#xff0c;想购买 s 的价值的东西。请问…

.net core百万设备连接服务和硬件需求测试

随着物联网的普及&#xff0c;服务应用将面对大量物联设备处理&#xff1b;早期.NET在通讯上的处理能力一直给人的印像并不怎样&#xff0c;但net core经历过大量的优化后在各个模块的处理性能都有着比较出色的提升&#xff0c;针对网络方向的处理模块也有着显著的提升。以下主…