Skip to content
0

Min-Max 容斥

前置知识

  • 期望具有线性性。

E(x) 表示事件 x 的期望,则有

E(x)=E(x)

即:总体的期望等于期望的和。

应用实例:模拟赛 #38 T2:

给定 n 个点,每个点有 wu,从 u 走到儿子 v 的概率是 wv÷wv,经过一个点的得分是 au,走到叶子结束,q 次修改一个点的 au,wu,求从根出发的得分期望。

sol

考虑拆成每个点的贡献和,走到点 u 的期望只与自己父亲节点的 ww 有关,并且和 au 都是乘法关系,那么修改一个节点就对他的子树进行区间乘修改,区间求和即可,线段树做到 O((n+q)logn)

Min-Max 容斥

maxiSi=TS(1)|T|+1miniTiminiSi=TS(1)|T|+1maxiTi

考虑证明第一条,设 S 从小到大排序后是 S1n,只需证明只剩 Sn 被留下即可。

考虑 Si 在等式右侧作为 min 的出现次数,那么显然只能再选 Si+1nni 个数,记 ni=m,那么其中 |T|mod2=1 的个数是 (m0)+(m2)+|T|mod2=0 的个数是 (m1)+(m3)+,两者相等,故 i<n,Si 的贡献均被容斥掉,只剩 Sn 作为最小值被统计一次,容斥系数为 1,证毕。

这玩意乍一看没什么用,但是结合期望能得到

maxiSE(i)=TS(1)|T|+1miniTE(i)

请看题目。

刷题总结

1. P3175 [HAOI2015] 按位或

每个位上的 1 出现后就不会消失,根据期望的线性性,相当于求 [0,n) 位中最晚出现的 1 的期望时间。

这个不好做,Min-Max 容斥一下考虑求每个数位子集 T 中,最早出现的 1 的期望时间。

但是判断取的这个数是否和 T 有交是困难的,那么再转换一下,考虑求与 T 无交的期望时间。

那么就相当于求 T 的补集的子集的期望和,使用高维前缀和解决,这一部分的时间复杂度是 O(n×2n)

最后枚举 T 算 Min-Max 容斥答案,这一部分的时间复杂度是 O(2n)

最近更新