多校noi前集训模拟第十三场
作者:互联网
可以发现,如果对于所有出现过的区间按照 \((2x,2x-1)\) 为一组分层,那么每层出现多少个 \(2x,2x-1\) 是确定的
首先处理出来 \(F_{l,r}\) 表示去区间 \([l,r]\) 出现的概率
那么对于每一层单独考虑
这一层有 \(A\) 个奇数段,\(B\) 个偶数段,我们需要知道每个点停留在两种段的概率
设 \(dp_{i,j}\) 表示考虑前 \(i\) 个点,还剩 \(j\) 个偶数段的概率
那么有 \(dp_{i,j}=\frac{2(j+1)}{2(j+1)+A+B-(i-1)}dp_{i-1,j+1}+\frac{A+B-(i-1)}{2j+A+B-(i-1)}dp_{i-1,j}\)
根据这个 \(dp\) 就可以求出每个点停留在两种段的概率
然后考虑对于这一层来說所有奇数段,所有偶数段是分别等价的
所以停留在一个偶数段的概率就是 \(\frac{1}{B}\sum\frac{2(j+1)}{2(j+1)+A+B-(i-1)}dp_{i-1,j+1}\)
停留在一个奇数段的概率就是 \(\frac{1}{A}\sum\frac{A+B-(i-1)}{2j+A+B-(i-1)}dp_{i-1,j}\)
再乘上之前求出的 \(F\) 就可以得到当前点在每个位置的概率了
标签:概率,frac,第十三,2x,多校,停留,偶数,dp,noi 来源: https://www.cnblogs.com/mikufun-hzoi-cpp/p/13388864.html