Codeforces 913H - Don't Exceed(微积分)

Codeforces 题面传送门 & 洛谷题面传送门

好家伙,NOI 最后几天随机开题竟然开到了 NOI 考察概率 \(<\epsilon\) 的知识点(

\(f(i,j)\) 表示 \(a_i=j\) 的概率,那么显然 \(f(i,j)=\int_{j-1}^jf(i-1,j)\),对于 \(j>a_i\)\(f(i,j)=0\)

注意到 \(n\) 很小,因此我们可以很自然地想到一个很常用的思想:分段。具体来说所有可能的断点都可以写成 \(a_i+j\) 的形式,其中 \(j\) 为整数,那么在每一段中,所有 \(f(i,j)\) 均可以写成关于 \(j\)\(n\) 次。因此直接暴力维护即可,对于中间的段,它们对 \(f(i,j)\) 的贡献显然是定值,直接累加到常数项上,对于两边的段暴力写成多项式后积分即可。

时间复杂度 \(n^4\)

posted @ 2022-08-17 14:43  tzc_wk  阅读(117)  评论(0编辑  收藏  举报