[模板] 容斥原理: 二项式反演 / 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] ...
随机推荐
- 并发系列(2)之 ThreadLocal 详解
本文将主要结合源码讲述 ThreadLocal 的使用场景和内部结构,以及 ThreadLocalMap 的内部结构:另外在阅读文本之前只好先了解一下引用和 HashMap 的相关知识,可以参考 Re ...
- RESTful API接口文档规范小坑
希望给你3-5分钟的碎片化学习,可能是坐地铁.等公交,积少成多,水滴石穿,谢谢关注. 前后端分离的开发模式,假如使用的是基于RESTful API的七层通讯协议,在联调的时候,如何避免配合过程中出现问 ...
- Service Worker基础知识整理
Service Worker是什么 service worker 是独立于当前页面的一段运行在浏览器后台进程里的脚本.它的特性将包括推送消息,背景后台同步, geofencing(地理围栏定位),拦截 ...
- Django-restframework 之频率源码分析
Django-restframework 之频率源码分析 一 前言 经过权限判断之后就是进行频率的判断了,而频率的判断和权限又不一样,认证.权限和频率的执行流程都差不多,使用配置里面的相关类来进行判断 ...
- 还在问跨域?本文记录js跨域的多种实现实例
前言 众所周知,受浏览器同源策略的影响,产生了跨域问题,那么我们应该如何实现跨域呢?本文记录几种跨域的简单实现 前期准备 为了方便测试,我们启动两个服务,10086(就是在这篇博客自动生成的项目,请戳 ...
- Docker 容器镜像删除
1.停止所有的container,这样才能够删除其中的images: docker stop $(docker ps -a -q) 如果想要删除所有container的话再加一个指令: docker ...
- CentOS下MySQL的安装
MySQL数据库是一款比较常用的数据库,大家在练习安装时,可能会遇到各种各样的问题,请大家参考在CentOS系统下MySQL数据库的安装方式.如有任何问题,欢迎留言,本人随时解答. MySQL安装步骤 ...
- h5与c3权威指南笔记--css3新属性选择器
[att*=val] 选择所有att属性值中包含val的.只要包含val值,不论val值在属性值的前面还是中间还是后面~ <style> div[class*=div]{ color: r ...
- 前端入门24-响应式布局(BootStrap)
声明 本篇内容摘抄自以下两个来源: BootStrap中文网 感谢大佬们的分享. 正文-响应式布局(BootStrap) 这次想来讲讲一个前端开发框架:BootStrap BootStrap 目前已经 ...
- python 生成18年写过的博客词云
文章链接:https://mp.weixin.qq.com/s/NmJjTEADV6zKdT--2DXq9Q 回看18年,最有成就的就是有了自己的 博客网站,坚持记录,写文章,累计写了36篇了,从一开 ...