【算法学习笔记】min-max容斥 极值反演

max-min容斥(极值反演)

即为下式:

(1)max{S}=TS(1)|T|+1min{T}

(2)min{S}=TS(1)|T|+1max{T}

证明: 证明 (1) 式即可,(2) 式同理。

假设 max{S}=TSf(|T|)min{T},则 f(|T|) 为容斥系数
显然,第 k 小的元素,仅当 kmin{T} 时有贡献,那么这样的集合 Ti=0|S|k(|S|ki) 个。

则第 |S| 小的元素即为 max{S},由上可得

i=0|S|kf(i+1)(|S|ki)=[k=|S|]

即为

i=0nf(i+1)(ni)=[n=0]

引理1.1 二项式反演

g(n)=i=0nf(i)(ni)f(n)=i=0n(1)ni(ni)g(i)

证明可见 OI-wiki

引理1.1

f(n+1)=i=0n(1)ni(ni)[i=0]

f(n+1) 自变量化为 1,并整理

(3)f(n)=i=0n1(1)ni1(n1i)[i=0](4)f(n)=(1)n1

带入 |T|

f(|T|)=(1)|T|1=(1)|T|+1

max-min容斥的期望

引理2.1

E(aiX)=aiE(X)

E(max{S})=TS(1)|T|+1E(min{T})

E(min{S})=TS(1)|T|+1E(max{T})

Card Collector

题目大意
N 种卡片,每次购买有 pi 的概率买到第 i 种,求使得每种都买到的期望购买次数。

数据范围
1N20,pi1

我们发现,在这题里,设首次获得物品 i 所需的操作次数为 xi,那么问题就转化成了求

E(max{xi|i[1,n]})

而此式很难求,考虑用 max-min容斥 转化为求 E(minS),S{xi|i[1,n]}
而在本题中,

E(minS)=1iSpi

由此即可求得。

posted @   caiyuyang  阅读(95)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
点击右上角即可分享
微信分享提示