cf739E Gosha is hunting (flows)
Posted petewell
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cf739E Gosha is hunting (flows)相关的知识,希望对你有一定的参考价值。
有$a$个普通球,$b$个超级球,有$n$个要捕捉的宝可梦,对于第$i$个宝可梦普通球的捕捉概率是$p_i$,超级球的捕捉概率是$u_i$,每种球只能扔一个到同一个宝可梦,同一个宝可梦可以被扔两种球。然后问在最优策略下捕捉个数的期望
考虑概率$dp$,发现状态无法简化到$n^2$级别,原来不是dp
假定每个宝可梦只能被扔一个球,那就是个匹配问题了,设$A$为普通球,$B$为超级球,源点向$A$,$B$连容量为球的个数,花费为$0$的边,$A,B$分别向每个精灵连容量为$1$,花费为$p_i$或者$u_i$的边,然后每个精灵向汇点连容量为$1$,费用为$0$的边,最大费用流的费用即为答案。
由于一个精灵能同时被扔两个球那么他被扔两个球时,捕捉的概率是$1-(1-p_i)times (1-u_i)$,化简得$p_i+u_i-p_i times u_i$,这样其实相当于$A,B$同时有容量为$1$的流流过这个精灵,如果没有$p_i times u_i$则可以每个精灵向汇点连两条边,每条边容量为$1$并且花费为$0$,然而处理这个$p_i times u_i$可以考虑把两条边中其中一条的费用改为$-p_i times u_i$,因为最大费用流跑最长路的时候肯定优先走$0$花费的那条,再走$-p_i times u_i$的这条,而走两条当且仅当两种球都扔向同一个精灵的时候,此时费用恰好和为$p_i+u_i-p_i times u_i$,得证。
|
|
原文:大专栏 cf739E Gosha is hunting (flows)
以上是关于cf739E Gosha is hunting (flows)的主要内容,如果未能解决你的问题,请参考以下文章
cf739E Gosha is hunting (flows)
CF739E Gosha is hunting(费用流,期望)
CF739E Gosha is hunting DP+wqs二分