Endless Spin

clj的题。图是假的别看

得先做这个[HAOI2015]按位或

本题如果还用[HAOI2015]按位或

的方法,2^50拜拜

但是思路一定是这样的:min-max容斥,考虑每个S的第一触及次数期望

这个题和[HAOI2015]按位或

一个不同之处是,每个区间的选择等概率随机!

这启发我们可以对许多状态一起统计!

发现,第一次触碰到S的概率和全是0的区间个数有关,符号和1的个数有关,为了方便转移还要记录最后一个1出现的位置

f[i][j][0/1]表示最后一个1的位置在i,全是0的区间个数为j,1的奇偶性是0/1

O(n^4)大力dp即可

T组数据,考虑统计答案

可以枚举最后一个1的位置pos,pos+1~n的全0的区间个数再计算

然后计算触及一次的期望次数tmp:1/[(C(n,2)+n)-cntzerointerval]

tmp*f[][][]*符号

贡献到ans里

或者更巧妙的做法是

钦定n+1位选择1

然后统计f[n+1][j][0/1]即可。当然多处理一个51,还要把0/1的状态奇偶性变过来。

总结:
抓住等概率的条件

抓住相同的S个数和方案

批量处理

喜大普奔

(置换批量处理的思想也是这样)

猜你喜欢

转载自www.cnblogs.com/Miracevin/p/10225885.html