这一道题还是挺好玩的啦。
传送门
题解
考虑Min-Max容斥。
设$T(i)$表示二进制数的第$i$位变成$1$的时间,那么题目里要求的就是:
但是要注意,一般情况下并没有
并且这道题中最大值并不好求,所以这里就要用Min-Max容斥,令$S=\lbrace T(i)|i\in[1,n]\rbrace$,于是就有:
考虑后面那个式子怎么求。
令$P(T)$表示选中的位的集合是$T$的子集的概率,可以用高位前缀和预处理出来。
考虑如何计算$min(T)=K$的概率。
当$min(T)=K$时,前$K-1$次选择的位的集合都是$T$的补集的子集,第$K$次则不是$T$的补集的子集。
所以概率就为$P(U\bigoplus T)^{K-1}\cdot(1-P(U\bigoplus T))$。
于是
然后暴力枚举$T$累加贡献即可。
代码
1 |
|