min-max 容斥题目小结

看了看 min-max 容斥的经典题发现以前不会做的现在还是不会做,以前看了题解的现在也不会做哎哎。加训加训。

虽然好像要退役了,但我还是很喜欢组合数学!所以没有啥用也要好好学,熟练一下处理技巧。感觉概率还是挺难的,要不断地找到合适的视角,正难则反的思想灵活运用。

尽量保证由易到难。也算是留下一个我四处收集来的题单。需要多项式技术的题会打 * 不过还是可以胡一下。

都是口胡,如果要看的话不保证没锅(


有 “期望”,“最值” 或者可以化成这样形式的都可以想想 min-max 容斥。毕竟这两个东西套在一起真的不好处理。就像式子里有 \(\gcd(i,j)\) 的时候肯定考虑化成 \(\varphi\),有更好描述的工具还是尽量用用。

I. P3175

拆位,求 \(E_{\max}(tim_i)\),min-max 容斥转化为 \(\sum\limits_{S\subseteq T} (-1)^{|S|-1} E_{\min}(S)\)

考虑 \(E_{\min}(S)\),可以转换成 \(1+\sum_{i} P(i)\),其中 \(P(i)\) 表示第 \(i\)\(S\) 中仍未被选上的概率。只需要算 \(T\setminus S\) 中的元素概率和即可。使用或卷积计算。

哦对了这个也可以理解为,有 \(p\) 的概率选上的话期望次数就是 \(\frac{1}{p}\) 次。然后因为直接算 \(p\) 很难顶所以正难则反,算 \(S\) 之外的位对应的 \(p\),然后式子换成 \(\frac{1}{1-p}\) 即可。

II. loj2542

随机游走 /fn。

直接状压 dp 感觉挺困难,考虑 min-max 容斥描述。还是计算 \(E_{\max}(tim_i)\),转换成求每个集合的 \(E_{\min}(tim_i)\)。外部 SOSDP 就行。

接下来开始想各种乱搞,没有好好想 dp。由于是树上随机游走,没法像刚刚一样用基本组合方法求解,考虑 dp。枚举 \(S\),设 \(f_i\) 表示从 \(i\) 走到点集中至少一个点的期望步数。树上高消即可。

一开始想着把 \(S\) 扔状态里,但这太怪了。不管怎么样都没有一个比较贴合 \(E_{\min}\) 的状态设计,所以把 \(S\) 放外面枚举,感觉很自然但没想到 (;′⌒`)。

III. *ABC331G

哦哦,哦哦哦?

感觉是不是有点板。min-max 容斥一下 \(E_{\max}(S) = \sum\limits_{T\subseteq S} (-1)^{|T|-1} E_{\min}(T)\)

注意到 \(E_{\min}\) 的计算只和 \(|T|\) 以及 \(\sum\limits_{i\in T} c_i\) 有关,仔细想想 \((-1)^{|T|-1}\) 也可以在转移中体现,于是只需要记录 \(\sum c\)。不妨认为前面的系数是 \((-1)^{|T|}\),最后整体乘上 \(-1\) 即可。

\(F(i,j)\) 表示前 \(i\) 个位置选出 \(\sum c = j\) 的系数之和。转移 \(F(i+1,j)\gets F(i,j)-F(i,j-c_{i+1})\)。用 GF 描述就是 \(F_{i+1} = F_i(1-x^{c_{i+1}})\)。所以最后的生成函数就是 \(F = \prod\limits_{i=1}^n (1-x^{c_i})\)

伟大的计数 bot 在去年的这个时候就告诉我们可以使用取 \(\ln\)\(\exp\) 做到线性对数,但我不会,所以只能强行分治 + NTT 实现 2log。但我还不会 NTT,哈哈了。泪点解析:

IV. hdu 4336

纯板子。

V. P4707

开始上强度了!

首先必须要注意到,对于这类问题,我们竭尽所能将问题转化为只含 \(E_{\min}\) 的形式,因为 \(E_{\min}\) 是好算的,其它任何形式都比较困难。

上来一看要求 \(E_{kmin}\),但是用 kth-minmax 容斥出来了一个 \(E_{\max}\),这很不好。但是我们知道 min-max 在整体层面上存在转化,即 kth min = (n - k + 1)th max。于是 \(k\gets n - k + 1\) 转化为求 kth max。有:

\[ANS = \sum_{T\subseteq S} (-1)^{|T| - k}\binom{|T| - 1}{k - 1} E_{\min}(T) \]

考虑 dp。注意到贡献形式和上个题差不多,不好转移 /ll,所以先考虑记到状态里。然后这个系数,,,也很烦,都扔到状态里。

\(f(i,j, z)\) 表示前 \(i\) 个选了 \(j\) 个,目前的和是 \(z\) 的贡献和。直接跑肯定过不去唉,考虑这个 \(n-k\le 10\) 的条件,说明目前 \(k\le 11\)。 对着答案的这个式子看一看感觉能用上这个性质的也只有 \(\binom{|T|-1}{k-1}\) 的计算。看上去要利用组合数递推公式,那我来推一下试试。唉好像第二个符号写反了,而且想不明白边界,流泪。

搬一句 ix35 的话:

一般这种 DP 的优化思路就是将一部分系数通过组合意义或组合恒等式化到 DP 值中去

\(f(i,j,k)\)\(i\)\(\sum p = j\)\(k\) 是底下那个底数时的系数和。转移就是 \(f(i, j,k) = f(i-1,j,k) - f(i - 1, j - p_i, k) + f(i - 1, j - p_i, k-1)\)。后面那个加号是因为 \((-1)^{|T| - k}\) 里面,\(|T|\) 加一,\(k\) 减一,所以不变,还是加号。

真正难的在于边界咋设计。没看懂 Sooke 的题解,感觉 \(f(0,0,k)=1\) 的设计挺合理啊。不懂了。

这个边界感觉好难啊,当时我为啥觉得我自己会了啊???

VI. *P5644

最困难的一集。不过这种概率相关的东西一点比较好的是,如果一个方向看起来没啥前途,基本上可以直接考虑转化而不用畏首畏尾。

发现直接做怎么都没法做啊,考虑转化一下,因为不关心具体时间只关心相对时间,可以假设每次随机崩一个人,崩到似人就再崩一次直到崩到活人。这样每个活人被崩的概率和原来一样。

这个转化要记下来,挺有用的。其实可以理解为 CF280C 那个转化。

直接算 1 的概率仍然困难,考虑容斥,钦定 \(1\) 被崩以后 \(S\) 内的元素还活着,此时根据上一步转化我们不用关心 \(1\cup \{S\}\) 之外的部分。此时概率就是 \(\frac{p_1}{p_1+\sum_{i\in S} p_i}\) 带一个 \((-1)^{|S|}\) 的容斥系数。贡献不好算但是可以保留 \(\sum p\) 和容斥系数最后算,于是转化成了 ABC331G,用那个 \(\ln-\exp\) 的套路单 log 过掉。

VII. loj6102

我们知道 \(\gcd(f_i, f_j) = f_{\gcd(i, j)}\),但是 lcm 能不能这么算暂且蒙古,能整出来 lcm 也是巨大的。于是我们考虑 GCD - LCM 容斥

\[\operatorname{lcm}(S) = \prod_{T\subseteq S} \gcd(T)^{(-1)^{|T|- 1}} \]

就是对指数做了一个 min-max 容斥啦。因为 gcd, lcm 本质就是指数的 min, max。

考虑这题的话,要统计每个 gcd 对应的容斥系数之

这个似乎比较经典,莫比乌斯函数容斥一下就行。线性对数。

upd:这个写代码了补充点细节。记录 \(buc_d=\sum_{i} [d|a_i]\),然后 \(d\) 的系数根据二项式定理初始是 \(1\),往后调和级数枚举累加上系数乘以 mobius 函数即可。注意指数和答案模数分别是 \(\varphi(p)\)\(p\),写的时候要小心。https://loj.ac/s/2013538

VIII. gym102978H

其实并不算 min-max 容斥。但还是放上来了,毕竟题不错。反转了,其实就是 min-max 容斥,只不过也可以常规容斥。

这个题和猎人杀的区别在于,我们不关心具体哪个数最后被删而只关心我们集合里的元素,min-max 容斥写一些发现挺不对。此时我们要换一种视角。

考虑没有 \(B\) 的时候显然会用 \(n\) 次,那么有 \(B\) 的时候只需要考虑在 \(A\) 删完之前有多少个 \(B\) 被删。这个似乎是期望的线性性的经典应用。这篇文章 讲得很好呀。

于是枚举被删的评论,直接算在 \(A\) 之前的概率很牛魔,变成在 \(A\) 之后的概率就是一个猎人杀了。直接 min-max 容斥 + 背包就好了!

其实直接算也行,限制可以刻画成若干集合的并,用容斥原理推一下也不错唉。

IX. AGC038E

随机取数还是考虑 min-max 容斥。有:

\[\begin{aligned} ANS & = \sum_{T\subseteq S} (-1)^{|T| - 1} E_{\min}(T) \end{aligned}\begin{aligned} ANS & = \sum_{T\subseteq S} (-1)^{|T| - 1} E_{\min}(T) \end{aligned} \]

降智了啊啊啊,\(E_{\min}\) 可以再转化为每一刻没选上的概率之和,然后就好做了,对着 dp 就行了唉。

upd: 我是 shaber。这个 dp 并不简单。

X. ABC242Ex

还不会,如果没退役就再来胡扯几句。

XI. CF1687E

有点过于超前了。不会哎哎。

posted @ 2024-02-25 19:42  ImALAS  阅读(17)  评论(0编辑  收藏  举报