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. C++容器map、unordered_map、set、unordered_set的区别

    1.map: 底层由红黑树实现. Key在红黑树中有序排列,对红黑树进行中序遍历即可得到Key从小到大的排序序列. 使用map可在O(1)的时间复杂度下快速查找到Key. 2.unordered_ma ...

  2. 2022年了!还在用定时器实现动画?赶紧试试requestAnimationFrame吧!

    前言 作为一名前端开发者,相信你一定接触过动画.还记得最开始学习前端时,我们曾尝试使用 JS 实现各种动画效果,比如轮播图等等.随着前端技术的不断更新,我们实现动画的方式变得多种多样了,比如使用JS. ...

  3. vue中vue2-google-maps使用谷歌地图的基础操作

    小哥我最近使用谷歌地图做了一个项目,于是乎各种坑就扑面而来,未免下次接着踩坑特留下自己的爬坑记录. 首先我是没用过谷歌地图也不知道靠谱不靠谱,于是乎傻傻的入坑了, 1.首先你要是没有vpn(或者fq工 ...

  4. Window 连接linux系统上的Redis

    windows 设置连接linux redis   一.查看linux 6379端口是否开发 firewall-cmd --query-port=6379/tcp 如果返回no则端口没有开启 fire ...

  5. supervisor 安装及基本使用

    1.安装 yum install supervisor 2.检查版本 supervisord --version 3.设为开机启动 systemctl enable supervisord.servi ...

  6. python查找文件、移动、重命名、压缩

    在文件同级目录下存在sourcefile.targetfile两个文件夹,源文件放在sourcefile import os import shutil Apath = os.path.dirname ...

  7. redis底层数据结构之双向链表(linkedlist)

    双向链表(linkedlist) redis的双向链表(linkedlist)是基于链表的一种数据结构 链表是一种常见的基础数据结构,是一种非顺序存储数据的线性表,在每一个节点里存储了下一个节点的指针 ...

  8. css你所不知道技巧

    利用属性选择器来选择空链接 当 <a> 元素没有文本内容,但有 href 属性的时候,显示它的 href 属性: a[href^="http"]:empty::befo ...

  9. pytorch自定义RNN结构(附代码)

    pytorch自定义LSTM结构(附代码) 有时我们可能会需要修改LSTM的结构,比如用分段线性函数替代非线性函数,这篇博客主要写如何用pytorch自定义一个LSTM结构,并在IMDB数据集上搭建了 ...

  10. flutter Stack 绝对布局的使用

    使用stack 和Positioned 实现绝对布局 进行位置偏移 Container( alignment: Alignment.center, width: double.infinity, ch ...