min-max 容斥实际上就是这么个式子:

\[\max(S_k) = \sum\limits_{T\subseteq S} (-1)^{|T|-k}\dbinom{|T|-1}{k-1}\min(T)
\]

可以通过构造系数二项式反演证明。

这个式子在期望意义下也是正确的,通常用于将搞定全部转化位搞定其中一个进而转化为不包含某个子集的方案计数,或找完的时间转化为第一次找到的时间。由于直接根据式子算是指数级的,通常还需要一些 dp 之类转化。

P4707 重返现世

有 \(n\) 种原料,需要集齐任意 \(k\) 种。每单位时间第 \(i\) 种原料被生成的概率是 \(\frac{p_i}{m}\) 。求期望时间。

  • \(n\le 1000\),\(|n-k|\le 10\),\(\sum p = m\le 10000\)

即求 \(E(\min(U_k))\),即 \(E(\max(U_{n-k+1}))\)。使用 min-max 容斥,我们需要求求和号后的东西。\(E(\min(T))\) 是好算的:\(\dfrac{m}{\sum_{i\in T} p_i}\),剩下的部分只与 \(|T|,k\) 有关,以此为状态 dp,通过拆组合数转移。

「PKUWC2018」随机游走

给定一棵 \(n\) 个结点的树,你从点 \(x\) 出发,每次等概率随机选择一条与所在点相邻的边走过去。

有 \(Q\) 次询问,每次询问给定一个集合 \(S\),求如果从 \(x\) 出发一直随机游走,直到点集 \(S\) 中所有点都至少经过一次的话,期望游走几步。

特别地,点 \(x\)(即起点)视为一开始就被经过了一次。

min-max 容斥后转化为求第一次到达某个点集的期望时间,可以列出一个随机游走的转移,用树上高消解出系数即可。还要求子集和,FWT 预处理即可。

「2020-02-16 联考」染色 (color)

有一棵 \(n\) 个点的树,一开始所有点都是白色。

接下来有若干次操作。每次操作会等概率选取树上的一条路径,把路径上所有节点涂黑。当整棵树都被染黑时,操作就会停止。

求结束前期望进行多少次操作,答案输出时对 \(1\ 004\ 535\ 809\ (479\times 2^{21}+1)\) 取模。

min-max 容斥,相当于在树上选 \(k\) 个点,将树分成若干连通块,每条路径在小连通块内选的概率,需要记录连通个数和 \(\sum \dfrac{|B|(|B|+1)}2\),树上背包 dp 这个东西即可。可以 NTT 优化,但是不优化也过了。

min-max 容斥简记的更多相关文章

  1. min-max 容斥

    $\min - \max$ 容斥 Part 1 对于简单的$\min - \max$容斥有一般形式,表达为:$\max(S)=\sum\limits_{T\subseteq S}(-1)^{|T|-1 ...

  2. Min-max 容斥与 kth 容斥

    期望的线性性: \[E(x+y)=E(x)+E(y) \] 证明: \[E(x+y)=\sum_i \sum_j(i+j)*P(i=x,j=y) \] \[=\sum_i\sum_ji*P(i=x,j ...

  3. HDU 4336 Card Collector (期望DP+状态压缩 或者 状态压缩+容斥)

    题意:有N(1<=N<=20)张卡片,每包中含有这些卡片的概率,每包至多一张卡片,可能没有卡片.求需要买多少包才能拿到所以的N张卡片,求次数的期望. 析:期望DP,是很容易看出来的,然后由 ...

  4. UVa12633 Super Rooks on Chessboard(容斥 + FFT)

    题目 Source http://acm.hust.edu.cn/vjudge/problem/42145 Description Let’s assume there is a new chess ...

  5. hdu1695:数论+容斥

    题目大意: 求x属于[1,b]和 y属于[1,d]的 gcd(x,y)=k 的方案数 题解: 观察发现 gcd()=k 不好处理,想到将x=x/k,y=y/k 后 gcd(x,y)=1.. 即问题转化 ...

  6. [模板] 容斥原理: 二项式反演 / Stirling 反演 / min-max 容斥 / 子集反演 / 莫比乌斯反演

    //待更qwq 反演原理 二项式反演 若 \[g_i=\sum_{j=1}^i {\binom ij} f_j\] , 则有 \[ f_i=\sum_{j=1}^i (-1)^{i-j} {i \ch ...

  7. [UOJ422][集训队作业2018]小Z的礼物——轮廓线DP+min-max容斥

    题目链接: [集训队作业2018]小Z的礼物 题目要求的就是最后一个喜欢的物品的期望得到时间. 根据$min-max$容斥可以知道$E(max(S))=\sum\limits_{T\subseteq ...

  8. 【LOJ2542】【PKUWC 2018】随机游走 min-max容斥 树上高斯消元

    题目描述 有一棵 \(n\) 个点的树.你从点 \(x\) 出发,每次等概率随机选择一条与所在点相邻的边走过去. 有 \(q\) 次询问,每次询问给定一个集合 \(S\),求如果从 \(x\) 出发一 ...

  9. min-max容斥学习笔记

    min-max容斥学习笔记 前置知识 二项式反演 \[ f(n)=\sum_{i=0}^n\binom{n}{i}g(i)\Leftrightarrow g(n)=\sum_{i=0}^n(-1)^{ ...

  10. min-max容斥 hdu 4336 && [BZOJ4036] 按位或

    题解: 之前听说过这个东西但没有学 令$max(S)$表示S中编号最大的元素,$min(S)$表示编号中最小的元素 $$max(S)=\sum{T \in S} {(-1)}^{|T|+1} min( ...

随机推荐

  1. vscode格式化

    1.tslint    TypeScript的格式化 2.esLint 3.prettier 4.vetur    格式化html,css,vue

  2. 【面试题】手写async await核心原理,再也不怕面试官问我async await原理

    前言 async await 语法是 ES7出现的,是基于ES6的 promise和generator实现的 generator函数 在之前我专门讲个generator的使用与原理实现,大家没了解过的 ...

  3. 浅谈spark

    spark spark是一个开源分布式计算框架,在于让计算更加快速,通常使用资源调度器yarn和spark自带的资源调度器standalond进行调度,spark相对于Hadoop更加快速,基于它是内 ...

  4. Unity 性能分析小工具

    下文有两个方法,分别是一段检测执行过程耗费时间的代码,还有一个是保存和加载Unity Profiler 的代码(因为UnityProfiler 只能显示一部分的数据,如果运行时间长的话有部分分析数据查 ...

  5. Ubuntu系统添加新的普通用户

    1.创建一个新的普通用户 创建了可以登录的yang用户并使用/bin/bash作为shell. 设置密码. 为yang用户增加管理员权限. 切换登录用户为yang. sudo useradd -m y ...

  6. PID名词解析

    在工程实际中,应用最为广泛的调节器控制规律为比例.积分.微分控制,简称PID控制,又称PID调节. 当被控对象的结构和参数不能完全掌握,或得不到精确的数学模型时,控制理论的 其它技术难以采用时,系统控 ...

  7. 导出PDF 空白赋值备份

    后台代码 //出货清单 @RequestMapping(params="getBusinessOutDetail") public void getBusinessOutDetai ...

  8. 学习lua-06,异常提示,错误处理

    addNum = function(a, b) assert(type(a) == 'string','a必须是一个字符串') assert(type(b) == 'string','b必须是一个字符 ...

  9. web安全学习笔记(2022/8/26)

    网络安全Web学习笔记 @author: lamaper @email: lamaper@qq.com @blog: lamaper - 博客园 (cnblogs.com) @date: Aug.26 ...

  10. HJ77 火车进站

    描述 给定一个正整数N代表火车数量,0<N<10,接下来输入火车入站的序列,一共N辆火车,每辆火车以数字1-9编号,火车站只有一个方向进出,同时停靠在火车站的列车中,只有后进站的出站了,先 ...