• 「总结」容斥。二.反演原理 4.极值容斥


    4.最值反演

    也就是$Min\_Max$容斥了。

    设$Max(S)$为$S$中的最大元素,$Min(S)$为最小元素。

    定义式:

    $$Max(S)=sumlimits_{phi eq Tsubseteq S}(-1)^{left|T ight|-1}Min(T)$$

    证明:

    设容斥系数$f(i)$

    $$Max(S)=sumlimits_{phi eq Tsubseteq S}f(i)Min(T)$$

    如果当前考虑的元素是第$r$小元素并且是某个$T$中的最小的元素,枚举大于$r$的元素,那么当前集合就是一个以$r$为最小值的大小为$i+1$的集合,贡献应当是:

    $$sumlimits_{i=0}^{n-r}inom{n-r}{i}f(i+1)=[n=r]=[n-r=0]$$

    也就是只让$Min(T)$等于$r$的时候为$1$即可。这样可以让等式成立。

    设$g(n)=[n=0],h(n)=f(n+1)$

    $$g(n)=sumlimits_{i=0}^{n}inom{n}{i}h(i)$$

    二项式反演得到:

    $$h(n)=sumlimits_{i=0}^{n}(-1)^{n-i}inom{n}{i}g(i)=sumlimits_{i=0}^{n}(-1)^{n-i}inom{n}{i}[i=0]$$

    $$h(n)=(-1)^n$$

    $$f(n)=h(n-1)=(-1)^{n-1}$$

    回代入原式:

    $$Max(S)=sumlimits_{phi eq Tsubseteq S}(-1)^{left|T ight|-1}Min(T)$$

    证毕。

    这个东西的作用就是求期望了。因为在期望下这个式子仍然成立。

    $$E(Max(S))=sumlimits_{phi eq Tsubseteq S}(-1)^{left|T ight|-1}E(Min(T))$$

    $fr.$礼物

    之前做过的考试题。

    给定$20$个元素,每次有一定概率抽到某一种物品,求期望多少次集齐全部物品。

    这题和最值反演有什么关系呢?因为我们可以不写状压写容斥。。。

    我们设$Min(S)$为集合$S$中最早出现的元素的时间,$Max(S)$同理。

    结论:

    $$E(Min(S))=frac{1}{sumlimits_{iin S}p_i}$$

    证明:

    $$E(Min(S))=sumlimits_{iin S}p_i+(1-sumlimits_{iin S}p_i)(E(Min(S))+1)$$

    移项可得:

    $$E(Min(S))=frac{1}{sumlimits_{iin S}p_i}$$

    证毕。

    有这个结论就好说了,直接最值反演即可。

    $$ans=E(Max(S))=sumlimits_{phi eq Tsubseteq S}(-1)^{left|T ight|-1}E(Min(T))$$

    时间复杂度$O(2^n)$,空间是$O(20)$

    $se.$按位或

    有$[0,2^k)$这些数,从0开始,期望多少次或为$2^k-1$

    同样的设$Min,Max$

    那么:

    $$E(Min(S))=frac{1}{sumlimits_{ T&S eq phi}p_T}$$

    然后求下面那个式子。

    $$E(Min(S))=frac{1}{sumlimits_{T subseteq mx}p_T-sumlimits_{T&S= phi}p_T}$$

    前面的很好求,考虑后面的即可。

    其实也就是:

    $$sumlimits_{Tsubseteq (mx-S)}p_T$$

    再用位运算写一下就是:

    $$sumlimits_{T|(mx-S)=mx-S}$$

    发现是位运算卷积的形式,那么我们可以用快速沃尔什变换求出他。

    有了$Min$,反演的到$Max$即可。

    时间复杂度是$O(k2^k)$的。可以通过本题。

    $th.$ $PKU$随机游走。

    还是期望题,没颓题解自己写的,写完发现网上都没有用或运算$FWT$而是一些其他的我不认识诡异手段。看不懂的骚操作,用的是什么异或,与之类的为运算。

    题意大概就是给定一个起点$st$,和一棵$n$节点的树,五千组询问,每个询问给定一个点集$S$,求一个人从$st$随机游走,到达过$S$中的全部点期望时间。(随机游走就是等概率前往各个相邻节点)。

    考虑这道题的$Min$和$Max$是什么。

    其实就是集合中最先到达的点到达的时间和最后到达的点到达的时间。

    答案其实就是:

    $$Max(S)=sumlimits_{phi eq Tsubseteq S}(-1)^{left|T ight|-1}Min(T)$$

    那么我们考虑求$Min(S)$。

    设$dp[x]$为对于某个特定集合$S$来说第一次到达$S$的期望时间,$d[x]$为点$x$的度。

    那么有转移。

    $$dp[x]=egin{cases}0 & xin S&\ frac{dp[fa]+1}{d[x]}+frac{sumlimits_{cin son[x]}dp[c]+1}{d[x]} & x otin S&end{cases}$$

    这个式子我们可以列出$n$个方程,高斯消元即可求解。

    $$Min(S)=dp[st]$$

    然后直接$FWT$卷积即可。

    但是时间复杂度是$O(n^32^n)$绝对$T$了。

    考虑如何优化。

    系数递推即可。设系数$A$和常数$B$对未知量用系数。

    那么原方程不属于$S$的部分可以表示为:

    $$dp[x]=frac{dp[fa]}{d[x]}+frac{sumlimits_{cin son[x]}dp[c]}{d[x]}+1$$

    $$=A[x]dp[fa]+B[x]$$

    $$dp[x]=frac{dp[fa]}{d[x]}+frac{sumlimits_{cin son[x]}(A[c]dp[x]+B[c])}{d[x]}+1$$

    同乘$d[x]$。

    $$d[x]dp[x]=dp[fa]+dp[x]sumlimits_{cin son[x]}A[c]+sumlimits_{cin son[x]}B[c]+d[x]$$

    移项。

    $$(d[x]-sumlimits_{cin son[x]}A[c])dp[x]=dp[fa]+sumlimits_{cin son[x]}B[c]+d[x]$$

    $$dp[x]=frac{1}{d[x]-sumlimits_{cin son[x]}A[c]}dp[fa]+frac{sumlimits_{cin son[x]}B[c]+d[x]}{d[x]-sumlimits_{cin son[x]}A[c]}$$

    $$A[x]=egin{cases}0 & xin S&\ frac{1}{d[x]-sumlimits_{cin son[x]}A[c]} & x otin S&end{cases}$$

    $$B[x]=egin{cases}0 & xin S&\ frac{sumlimits_{cin son[x]}B[c]+d[x]}{d[x]-sumlimits_{cin son[x]}A[c]} & x otin S&end{cases}$$

    我们令$st$为根节点,那么它没有父亲节点,所以:

    $$dp[st]=B[st]$$

    我们可以$O(n)$求出每一个$S$的$Min$,最后用$FWT$合并一下答案即可。

    那么复杂度是$O(n2^n)$

    问题得解。

    $fo.$ $kthMin\_Max$容斥

    $KthMin\_Max$容斥。$KthMax(S)$是集合$S$中的第$K$大元素。

    $$KthMax(S)=sumlimits_{phi eq Tsubseteq S}(-1)^{left|T ight|-K}inom{left|T ight|-1}{K-1}Min(T)$$

    证明:

    同样构造容斥系数$f(n)$

    考虑第$k$(是小$k$不是大$K$)大元素的贡献,也就是系数只能在元素为第$K$大的时候为$1$。

    那么得到:

    $$sumlimits_{i=0}^{n-k}inom{i}{n-k}f(i+1)=[n-k+1=K]$$

    $$sumlimits_{i=0}^{n}inom{i}{n}f(i+1)=[n=K-1]$$

    二项式反演。

    $$f(n+1)=sumlimits_{i=0}^{n}(-1)^{n-i}inom{i}{n}[i=K-1]$$

    $$f(n+1)=(-1)^{n-K+1}inom{n}{K-1}$$

    $$f(n)=(-1)^{n-K}inom{n-1}{K-1}$$

    回代入原式:

    $$KthMax(S)=sumlimits_{phi eq Tsubseteq S}(-1)^{left|T ight|-K}inom{left|T ight|-1}{K-1}Min(T)$$

    证毕。

  • 相关阅读:
    10个最好的游戏开发在线资源
    程序员什么时候该考虑辞职
    程序员常去的14个顶级开发社区
    如何成为10倍速的程序员
    (通用)深度学习环境搭建:tensorflow安装教程及常见错误解决
    20行JS代码实现贪吃蛇
    程序员必备工具目录
    发布 Google Chrome插件教程
    高并发思路
    30分钟入门Java
  • 原文地址:https://www.cnblogs.com/Lrefrain/p/11655078.html
Copyright © 2020-2023  润新知