题目传送门 https://www.luogu.org/problem/P4707 题解 很容易想到这是一个 MinMax 容斥的题目. 设每一个物品被收集的时间为 \(t_i\),那么集齐 \(k\) 个物品所需时间就是 \(\{t_i\}\) 中的第 \(n-k+1\) 大的时间. 所以我们不妨把 \(k\) 看成原来的 \(n-k+1\),这个 \(k \leq 11\). 然后根据扩展 MinMax 容斥 \[ \max_k (S) = \sum_{T \subseteq S, |T|…
题目链接 https://www.luogu.org/problem/P4707 题解 最近被神仙题八连爆了-- 首先Min-Max容斥肯定都能想到,问题是这题要用一个扩展版的--Kth Min-Max容斥 这个东西需要对Min-Max容斥的本质有着比较深刻的理解. 首先我们从另一个角度证明Min-Max容斥的正确性: \(\max(S)=\sum_{T\in S}f(|T|)\min(T)\), 对于第\((x+1)\)大来说它被计算的次数是\(\sum_{k\ge 0} {x\choose…
洛谷 P4707 重返现世 k-minimax容斥 有这一个式子:\(E(\max_k(S))=\sum_{T\subseteq S}(-1)^{|T|-k}C_{|T|-1}^{k-1}\min(T)\) dp.考虑怎么设状态,因为\(\min(T)=\frac{m}{\sum_{i\in T}i}\),所以要设一维表示和:还要加一维表示当前的\(k\). 设\(f_{i,k,j}\)表示\(S\)中加入了前\(i\)个元素,式子中的\(\sum_{T\subseteq S}(-1)^{|T|…
[Luogu4707]重返现世(min-max容斥) 题面 洛谷 求全集的\(k-max\)的期望 题解 \(min-max\)容斥的证明不难,只需要把所有元素排序之后考虑组合数的贡献,容斥系数先设出来后也不难解出. 那么我们来考虑如何求解\(k-max\),设出容斥系数\(f(|T|)\) \[kmax(S)=\sum_{T\subset S}f(|T|)min(T)\] 显然是从小到大考虑每个元素作为\(min\)时候的贡献,并且我们只需要其中第\(k\)大的贡献. 假设\(n=|S|\),…
传送门 我永远讨厌\(dp.jpg\) 前置姿势 扩展\(Min-Max\)容斥 题解 看纳尔博客去→_→ 咱现在还没搞懂为啥初值要设为\(-1\)-- //minamoto #include<bits/stdc++.h> #define R register #define fp(i,a,b) for(R int i=a,I=b+1;i<I;++i) #define fd(i,a,b) for(R int i=a,I=b-1;i>I;--i) #define go(u) for(…
Description 为了打开返回现世的大门,\(Yopilla\) 需要制作开启大门的钥匙.\(Yopilla\) 所在的迷失大陆有 \(n\) 种原料,只需要集齐任意 \(k\) 种,就可以开始制作. \(Yopilla\) 来到了迷失大陆的核心地域.每个单位时间,这片地域就会随机生成一种原料.每种原料被生成的概率是不同的,第 \(i\) 种原料被生成的概率是 \(\frac{p_i}{m}\) .如果 \(Yopilla\) 没有这种原料,那么就可以进行收集. \(Yopilla\) 急…
题面传送门 首先看到这种求形如 \(E(\max(T))\) 的期望题,可以套路地想到 Min-Max 容斥 \(\max(S)=\sum\limits_{T\subseteq S}(-1)^{|T|-1}\min(T)\),将其转化为容易计算的 \(E(\min(T))\) 进行计算. 不过这题有些不同的一点是我们要求的是第 \(k\) 大而不是最大值,无法直接 Min-Max,这时就要用到一个叫扩展 Min-Max 的东西了,首先抛出式子:\(\max_k(S)=\sum\limits_{T…
在跨年的晚上玩手机被妈妈骂了赶来写题……呜呜呜……但是A题了还是很开心啦,起码没有把去年的题目留到明年去做ヾ(◍°∇°◍)ノ゙也祝大家2019快乐! 这题显然的 kth min-max 容斥就不说了,不会的还是百度吧……记录一下后面的 dp.感觉挺强强的,%题解…… 首先,min - max 容斥的公式为 : \(max_{K}(S) = \sum_{T\subseteq S}(-1)^{|T|-K}\binom{|T|-1}{K-1}min(T)\) 但是最后面的 \(min(T)\) 显然不…
传送门 前置知识 做这题前,您需要认识这个式子: \[ kthmax(S)=\sum_{\varnothing\neq T\subseteq S}{|T|-1\choose k-1} (-1)^{|T|-k} min(T) \] 如果不会可以来这里. 思路 题目要求第\(k\)小.为了方便,以下令\(k=n-k+1\),即变为求第\(k\)大. 很显然,这题是让我们求这个东西: \[ \sum_{T\neq\varnothing}{|T|-1\choose k-1} (-1)^{|T|-k} m…
正题 题目链接:https://www.luogu.com.cn/problem/P4707 题目大意 \(n\)个物品,每次生成一种物品,第\(i\)个被生成的概率是\(\frac{p_i}{m}\),求生成至少\(k\)种物品的期望次数. \(1\leq n\leq 1000,max\{n-10,1\}\leq k\leq n,1\leq m\leq 10000\) 解题思路 求的是\(E(min_k\{S\})\),但是\(k\)很大,如果令\(k=n-k+1\)的话就是求\(E(max_…
题目:bzoj 2005 https://www.lydsy.com/JudgeOnline/problem.php?id=2005   洛谷 P1447 https://www.luogu.org/problemnew/show/P1447 首先,题意就是求 ∑(1 <= i <= n) ∑(1 <= j <= m) [ 2 * gcd(i,j) -1 ]: 方法1:容斥原理 枚举每个数作为 gcd 被算了几次: 对于 d ,算的次数 f[d] 就是 n/d 和 m/d 中互质的…
传送门 首先,进行如下处理 如果$L$是$K$的倍数,那么让它变成$\frac{L}{K}$,否则变成$\frac{L}{K}+1$ 把$H$变成$\frac{H}{K}$ 那么,现在的问题就变成了在$[L,H]$范围内选$n$个数并令他们的$gcd$为$1$的方案数 然后令$f[i]$表示选出的数最大公约数为$i$且所有数不全相同的方案数,那么设$x$为$[L,H]$之间$i$的倍数的个数,那么$f[i]=x^n-x$ 然而因为这种情况求出来的只是有公约数为$i$的情况,所以还要容斥一波搞掉公…
传送门 很明显题目要求的东西可以写成$\sum_{i=1}^{n}\sum_{j=1}^m gcd(i,j)*2-1$(一点都不明显) 如果直接枚举肯定爆炸 那么我们设$f[i]$表示存在公因数$i$的数的对数 然而$i$并不一定是这几对数的最大公因数 那么怎么办呢?考虑容斥 以$i$为最大公因数的数的对数,就是有$i$为公因数的数,减去最大公因数为$2*i$的数,减去为$3*i$的数…… 那么这个就可以一波容斥求出来了 时间复杂度为$O(nlogn)$ //minamoto #include<…
正解:$exLucas$+容斥 解题报告: 传送门! 在做了一定的容斥的题之后再看到这种题自然而然就应该想到容斥,,,? 没错这题确实就是容斥,和这题有点儿像 注意下的是这里的大于和小于条件处理方式不同昂$QwQ$ 对于大于等于,直接在一开始就先给它那么多就好,就先提前把$m-=\sum_{i=n_{1}+1}^{n_{1}+n_{2}} A_i$,这样就只剩小于等于的条件了 小于等于,一看最多就8个,显然就成了经典容斥套路题了鸭, 于是就枚举哪个爆了,然后可重排列搞下,容斥下,就做完了 放下推…
无限背包+容斥? 观察数据范围,可重背包无法通过,假设没有数量限制,利用用无限背包 进行预处理,因为实际硬币数有限,考虑减掉多加的部分 如何减?利用容斥原理,减掉不符合第一枚硬币数的,第二枚,依次类推 加上不符第一枚和第二枚的方案,第一枚和第三枚的方案以此类推,不明 白原理可以去看一下容斥原理 较长代码(懒得优化) #include<iostream> #include<cstdio> #include<cstring> #include<string> #…
知识点简单总结--minmax容斥 minmax容斥 好像也有个叫法叫最值反演? 就是这样的一个柿子: \[max(S) = \sum\limits_{ T \subseteq S } min(T) \times (-1)^{|T|-1} \] 用 $ Max $ 来求 $ Min $ 也一样可行. 证明不太难,所以干脆咕了,随便找个证明. 应用 由于期望的线性性,以上公式对于每个元素的期望也是成立的, 可以写作 $ E( max(S) ) = \sum\limits_{T \subseteq…
题目分析 题目就是求第K种原料的出现期望时间. 考虑广义min-max容斥. \(\text{kthmax}(S)=\sum\limits_{T\subseteq S}(-1)^{|T|-k}\binom{|T|-1}{k-1}\min(T)\) 显然\(\min(T)=\frac{m}{\sum\limits_{i\in S}p_i}\). 发现\(m\)的范围很小,那么我们可以考虑设状态dp算贡献. 设\(f_{j,k}\)表示对于集合\(|S|\),\(j=\sum\limits_{i\i…
洛谷题面传送门 hot tea. 首先注意到这个 \(\text{lcm}\) 特别棘手,并且这里的 \(k\) 大得离谱,我们也没办法直接枚举每个质因子的贡献来计算答案.不过考虑到如果我们把这里的 \(\text{lcm}\) 改为 \(\gcd\) 那么一遍莫比乌斯反演即可搞定,因此考虑将这里的 \(\text{lcm}\) 与 \(\gcd\) 联系在一起.那么什么能将这两个东西联系在一起呢?Min-Max 容斥,具体来说,考虑式子 \[\text{lcm}(S)=\prod\limits…
点此看题面 大致题意: 从一个给定点出发,在一棵树上随机游走,对于相邻的每个点均有\(\frac 1{deg}\)的概率前往.多组询问,每次给出一个点集,求期望经过多少步能够访问过点集内所有点至少一次. \(Min-Max\)容斥 访问过每个点至少一次,显然不是什么好处理的东西. 我们考虑一个叫\(Min-Max\)容斥的东西. 关于\(Min-Max\)容斥,有这样一个公式: \[E(max(S))=\sum_{T∈S}(-1)^{|T|+1}E(min(T))\] 套到这题,\(E(max(…
洛谷P1378 油滴扩展 直接暴力搜索更新答案就可以了. 时间复杂度为 \(O(n!)\) . #include<stdio.h> #include<stdlib.h> #include<math.h> #include<algorithm> using namespace std; const int maxn = 10; const double pi = acos(-1.0); int vis[maxn]; double x[maxn], y[maxn…
基本形式 \[ \max(S) = \sum_{T\subseteq S, T \neq \varnothing} (-1)^{|T|-1}\min(T) \] 证明 不提供数学证明. 简要讲一下抽象理解伪证: 考虑从大到小排名为 \(i\) 的数,这个数会作为集合 \(T\) 的最小值出现时,那么 \(T\) 剩下的所有值都是从大于它的数中选取的.那么选取方案就是 \(\binom{i-1}{|T|-1}\). 如果 \(i=1\),也就是 \(a_i = \max(S)\),那么它只会被加上…
「PKUWC2018」随机游走(min-max容斥+FWT) 以后题目都换成这种「」形式啦,我觉得好看. 做过重返现世的应该看到就想到 \(min-max\) 容斥了吧. 没错,我是先学扩展形式再学特殊形式的. \[E(\text{max}(S))=\sum_{T\subseteq S}(-1)^{|T|+1}E(\text{min}(T))\] 问题转化之后,然后我们可以枚举所有状态然后 \(O(n)\) 树形 \(dp\) \(-1\) 那项可以 \(O(2^n)\) 推出来,接下来就是子集…
//待更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 Sti…
min-max容斥学习笔记 前置知识 二项式反演 \[ f(n)=\sum_{i=0}^n\binom{n}{i}g(i)\Leftrightarrow g(n)=\sum_{i=0}^n(-1)^{n-i}\binom{n}{i}f(i) \] 一些定义 \(\max (S),\min (S)\)表示分别集合\(S\)的最大,最小元素 套路式子 \[ \max(S)=\sum_{\varnothing\not=S\subseteq T}(-1)^{|T|-1}\min(T) \] 证明 首先我…
min-max 容斥 给定集合 \(S\) ,设 \(\max(S)\) 为 \(S\) 中的最大值,\(\min(S)\) 为 \(S\) 中的最小值,则: \[\max(S)=\sum_{T\in S}(-1)^{|T|-1}\min(T)\] 这个东西叫 min-max容斥. 证明可以拿二项式反演证 例题 hdu4336 Card Collector 题目 有 \(n\) 种卡片,每一秒都有 \(P_i\) 的概率获得一张第 \(i\) 种卡片,求每张卡片都至少有一张的期望时间. 记 \(…
[BZOJ4036]按位或(Min-Max容斥,FWT) 题面 BZOJ 洛谷 题解 很明显直接套用\(min-max\)容斥. 设\(E(max\{S\})\)表示\(S\)中最晚出现元素出现时间的期望,\(min\)同理. 那么\(E(max\{S\})=\sum_{T\subseteq S}(-1)^{|T|}E(min\{T\})\) 考虑怎么求\(E(min\{T\})\),很容易发现只需要或上了任何一位就行了. 也就是 \[E(min\{T\})=\frac{1}{\sum_{G\c…
[Learning]min-max容斥以及推广 min-max容斥 就是max(a,b)=min(a)+min(b)-min(a,b) max(a,b,c)=a+b+c-min(a,b)-min(a,c)-min(b,c)+min(a,b,c) .... 为什么这样做? 有的时候min要好算很多 期望的线性 所以可以直接套期望 然后例题: [HAOI2015]按位或 [HAOI2015]按位或 推广 from:在Ta的博客查看 max_k(S)表示S中第k大 依然可以套期望: luoguP470…
概念 Min-Max容斥,又称最值反演,是一种对于特定集合,在已知最小值或最大值中的一者情况下,求另一者的算法. 例如: $$max(a,b)=a+b-min(a,b) \\\ max(a,b,c)=a+b+c-min(a,b)-min(a,c)-min(b,c)+min(a,b,c)$$ 显然,将所有数取相反数,易知用最大值求最小值的公式与用最小值求最大值的公式形式相同.以下只讨论用最小值求最大值的方法. 形式 记 $Max(S)$ 表示集合 $S$ 的最大值,$Min(S)$ 表示集合 $S…
容斥原理的思想大家都应该挺熟悉的,然后补集转化其实就是容斥原理的一种应用. 一篇讲容斥的博文https://www.cnblogs.com/gzy-cjoier/p/9686787.html 当我们遇到正面解决很困难的问题,我们可以考虑从它的反面去思考,如果反面容易计算的话那么我们就可以用补集转化的思想先计算反面再计算正面(尤其是计数类问题). Min-Max容斥是一个十分有用的定理,尤其是在计算概率期望上有 一般来说:这里的Emax(S)是代表出现S所有元素的期望,Emin(T)是出现T任何一…
Atcoder 题面传送门 & 洛谷题面传送门 我竟然能独立做出 Ag 的 AGC E,incredible!更新了 Atcoder 做题难度上限( 首先按照套路 Min-Max 容斥,\(ans=\sum\limits_{\varnothing\ne T\subseteq S}(-1)^{|T|-1}\times E(\min(T))\),考虑怎样求这个式子的值.首先我们需要搞清楚 \(E(\min(T))\),假设 \(T\) 中包含下标为 \(x_1,x_2,\cdots,x_m\) 这…