[模板] 容斥原理: 二项式反演 / 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] ...
随机推荐
- 斑马打印机的安装调试,生成PDF
1. 我使用的斑马打印机GK888T.有问题打客服,耐心等待.售后电话4006456456得到了解决. 2. 我遇到的问题是打印一张之后指示灯变为红灯,时好时坏.解决方案,长按指示键,待指示灯连续 ...
- ASP.NET Core 基于JWT的认证(一)
ASP.NET Core 基于JWT的认证(一) Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该token被设计 ...
- C# 插入文本框到PPT幻灯片
概述 在文本框中我们可以实现的操作有很多,如插入文字.图片.设置字体大小.颜色.文本框背景填充.边框设置等.下面的示例中,将介绍通过C# 在PPT幻灯片中插入幻灯片的方法. 示例中包含了以下要点: 插 ...
- Java UrlRewriter伪静态技术运用深入分析
通常我们为了更好的缓解服务器压力,和增强搜索引擎的友好面,都将文章内容生成静态页面. 但是有时为了能实时的显示一些信息,或者还想运用动态脚本解决一些问题,不能用静态的方式来展示网站内容,必须用到动态页 ...
- C++系列总结——多态
前言 封装隐藏了类内部细节,通过继承加虚函数的方式,我们还可以做到隐藏类之间的差异,这就是多态(运行时多态).多态意味一个接口有多种行为,今天就来说说C++的多态是怎么实现的. 编译时多态感觉没什么好 ...
- HeadFirst设计模式读书笔记之工厂模式
1. 简单工厂 1. 你开了一家披萨店,点披萨的方法可能是这样: public Pizza orderPizza(String type) { Pizza pizza; if (type.equals ...
- Dynamics 365中的批量删除作业执行频率可以高于每天一次吗?
微软动态CRM专家罗勇 ,回复317或者20190314可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me!我的网站是 www.luoyong.me . 我先来做一个例子,登 ...
- Git安装教程(windows)
Git是当今最流行的版本控制软件,它包含了许多高级工具,这里小编就讲一下Git的安装. 下载地址:https://git-scm.com/downloads 首先如下图:(点击next) 第二步:文件 ...
- 【esri-loader】帮助文档翻译 part2 用法
esri-loader怎么用?看完不要太清楚. [未完待续]!!! Q1: 在哪里用? 这是我最疑惑的问题之一,我知道要用esri-loader,肯定是某条js导入语句起作用的,但是你得告诉我写在哪里 ...
- Spring WebFlux 响应式编程学习笔记(一)
各位Javaer们,大家都在用SpringMVC吧?当我们不亦乐乎的用着SpringMVC框架的时候,Spring5.x又悄(da)无(zhang)声(qi)息(gu)的推出了Spring WebFl ...