[模板] 容斥原理: 二项式反演 / Stirling 反演 / min-max 容斥 / 子集反演 / 莫比乌斯反演
//待更qwq
反演原理
二项式反演
若
\[g_i=\sum_{j=1}^i {\binom ij} f_j\]
, 则有
\[ f_i=\sum_{j=1}^i (-1)^{i-j} {i \choose j} g_j \]
同时, 若
\[g_i=\sum_{j=1}^i (-1)^j {i \choose j} f_j\]
, 则有
\[f_i=\sum_{j=1}^i (-1)^j {i \choose j} g_j\]
通过反演原理和组合数的性质不难证明.
0/1? todo
Stirling 反演
Min-Max 容斥
形式
Min-Max 容斥 (最值反演) 是对集合的 \(\min()\) 和 \(\max()\) 函数的容斥.
设 \(S\) 为一个集合, \(min()\) 和 \(max()\) 为集合的最小/最大元素, 那么有
\[\max(S)=\sum_{T \subseteq S}(-1)^{|T|-1}\min(T)\]
\[\min(S)=\sum_{T \subseteq S}(-1)^{|T|-1}\max(T)\]
证明
引理: 在n(n > 0)个数中选奇数个和选偶数个的方案数相同, 即
\[\sum _{i=0}^n (-1)^i \binom{n}{i} = [n = 0]\]
这可以通过对 \(n\) 的奇偶性分类讨论来证明.
对于第一个式子, 只需枚举 \(\min(T)\), 发现除了 \(\max(S)\) 之外的元素系数都为 \(0\), 因此得证.
第二个式子类似.
事实上, 这两个式子也可以通过反演原理直接得到: Min-Max容斥学习笔记 | LNRBHAW
这两个式子在期望意义下也是对的: 设 \(E(x)\) 表示元素 \(x\) 出现的期望操作次数, 那么
\[E(\max(S))=\sum_{T \subseteq S}(-1)^{|T|-1}E(\min(T))\]
\[E(\min(S))=\sum_{T \subseteq S}(-1)^{|T|-1}E(\max(T))\]
对于一些题而言, 往往把元素的值设为它的出现时间. 那么, \(E(\max(S))\) 就表示 \(S\) 中所有元素都出现的期望操作次数, \(E(\min(S))\) 就表示 \(S\) 中出现任意元素的期望操作次数.
kth Min-Max
上式的推广.
设 \(kth\max (S)\) 表示 \(S\) 的第 \(k\) 大元素, 则
\[ kth\max(S)=\sum_{T \subseteq S} (-1)^{|T|-k} {|T|-1 \choose k-1} \min(T) \]
证明过程与上面类似.
同样, 它在期望意义下也是对的.
题目
- hdu4336 Card Collector
- hdu4624 Endless Spin
- luogu3175 [HAOI2015]按位或
- loj2542 「PKUWC 2018」随机游走
- luogu4707 重返现世
子集反演
莫比乌斯反演
设数论函数 \(F(x)\), \(f(x)\),
- 若\(F(n)=\sum_{d|n}f(d)\), 则有
\[ f(n)=\sum_{d|n}\mu(d)F(\frac{n}{d}) \] - 若\(F(n)=\sum_{n|d}f(d)\)
\[f(n)=\sum_{n|d}\mu(\frac{d}{n})F(d)\]
但是其实更常用的还是这个
\[\sum_{d|n}\mu(d)=[n=1]\]
参考资料
https://www.cnblogs.com/Mr-Spade/p/9636968.html
https://lnrbhaw.github.io/2019/01/05/Min-Max%E5%AE%B9%E6%96%A5%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/
https://www.cnblogs.com/ljq-despair/p/8678855.html
https://www.cnblogs.com/Mr-Spade/p/9638430.html
https://changxv.coding.me/2018/07/10/%E5%90%84%E7%A7%8D%E5%8F%8D%E6%BC%94/
反演魔术:反演原理及二项式反演 – Miskcoo's Space
[模板] 容斥原理: 二项式反演 / Stirling 反演 / min-max 容斥 / 子集反演 / 莫比乌斯反演的更多相关文章
- LOJ2542. 「PKUWC2018」随机游走【概率期望DP+Min-Max容斥(最值反演)】
题面 思路 我们可以把到每个点的期望步数算出来取max?但是直接算显然是不行的 那就可以用Min-Max来容斥一下 设\(g_{s}\)是从x到s中任意一个点的最小步数 设\(f_{s}\)是从x到s ...
- BZOJ2005: [Noi2010]能量采集 莫比乌斯反演的另一种方法——nlogn筛
分析:http://www.cnblogs.com/huhuuu/archive/2011/11/25/2263803.html 注:从这个题收获了两点 1,第一象限(x,y)到(0,0)的线段上整点 ...
- ☆ [POI2007] ZAP-Queries 「莫比乌斯反演」
题目类型:莫比乌斯反演 传送门:>Here< 题意:求有多少对正整数对\((a,b)\),满足\(0<a<A\),\(0<b<B\),\(gcd(a,b)=d\) ...
- UVa 11014 (莫比乌斯反演) Make a Crystal
这个题是根据某个二维平面的题改编过来的. 首先把问题转化一下, 就是你站在原点(0, 0, 0)能看到多少格点. 答案分为三个部分: 八个象限里的格点,即 gcd(x, y, z) = 1,且xyz均 ...
- BZOJ 2301 莫比乌斯反演入门
2301: [HAOI2011]Problem b Description 对于给出的n个询问,每次求有多少个数对(x,y),满足a≤x≤b,c≤y≤d,且gcd(x,y) = k,gcd(x,y)函 ...
- LOJ6519. 魔力环(莫比乌斯反演+生成函数)
题目链接 https://loj.ac/problem/6519 题解 这里给出的解法基于莫比乌斯反演.可以用群论计数的相关方法代替莫比乌斯反演,但两种方法的核心部分是一样的. 环计数的常见套路就是将 ...
- 【CCPC-Wannafly Winter Camp Day3 (Div1) F】小清新数论(莫比乌斯反演+杜教筛)
点此看题面 大致题意: 让你求出\(\sum_{i=1}^n\sum_{j=1}^n\mu(gcd(i,j))\). 莫比乌斯反演 这种题目,一看就是莫比乌斯反演啊!(连莫比乌斯函数都有) 关于莫比乌 ...
- 【LOJ#6374】网格(二项式反演,容斥)
[LOJ#6374]网格(二项式反演,容斥) 题面 LOJ 要从\((0,0)\)走到\((T_x,T_y)\),每次走的都是一个向量\((x,y)\),要求\(0\le x\le M_x,0\le ...
- BZOJ2301: [HAOI2011]Problem b[莫比乌斯反演 容斥原理]【学习笔记】
2301: [HAOI2011]Problem b Time Limit: 50 Sec Memory Limit: 256 MBSubmit: 4032 Solved: 1817[Submit] ...
随机推荐
- c# jobject 的数据结构的解析:
c# jobject 数据结构的解析:首先下载Newtonsoft.Json,增加引用using Newtonsoft.Json.Linq;把jobject的内容提取出来,Jobject的内容格式如下 ...
- centos下 .net core 2.0 升级 到 2.1 遇到的一个小问题
.net core 2.0的安装方式,可能不是用yum方式安装的,所以,在用yum安装2.1之后,无法运行.net core 所以用来下面的这个命令,重新映射一下dotnet目录. ln -s /us ...
- 【Springboot】Springboot整合Thymeleaf模板引擎
Thymeleaf Thymeleaf是跟Velocity.FreeMarker类似的模板引擎,它可以完全替代JSP,相较与其他的模板引擎,它主要有以下几个特点: 1. Thymeleaf在有网络和无 ...
- Java运行时数据区概述
Java 虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域,这些区域都有各自的用途,如图所示: 程序计数器 程序计数器是一块比较小的内存空间,可以看作是当前线程所执行的字节 ...
- Flask实战第5天:页面跳转和重定向
GET和POST请求 在网络请求中有许多请求方式,比如GET, POST, DELETE, PUT等,最常用的就是GET和POST GET 只会在服务器上获取资源,不会更改服务器的状态,这种请求方式推 ...
- JS 的继承
1:原生链:prototype 儿子能够继承父亲的属性,也可以觉得遗传基因不好自己改属性,(但是不能改变老爸的属性). 看例子: function farther(){ ...
- 学习安卓开发[5] - HTTP、后台任务以及与UI线程的交互
在上一篇学习安卓开发[4] - 使用隐式Intent启动短信.联系人.相机应用中了解了在调用其它应用的功能时隐式Intent的使用,本次基于一个图片浏览APP的开发,记录使用AsyncTask在后台执 ...
- matlab中的实时音频
音频系统工具箱™针对实时音频处理进行了优化.audioDeviceReader, audioDeviceWriter, audioPlayerRecorder, dsp.AudioFileReader ...
- DataPipeline |《Apache Kafka实战》作者胡夕:Apache Kafka监控与调优
胡夕 <Apache Kafka实战>作者,北航计算机硕士毕业,现任某互金公司计算平台总监,曾就职于IBM.搜狗.微博等公司.国内活跃的Kafka代码贡献者. 前言 虽然目前Apache ...
- 数据库原理 - 序列4 - 事务是如何实现的? - Redo Log解析(续)
> 本文节选自<软件架构设计:大型网站技术架构与业务架构融合之道>第6.4章节. 作者微信公众号:> 架构之道与术.进入后,可以加入书友群,与作者和其他读者进行深入讨论.也可以 ...