[省选联考 2021 A/B 卷] 滚榜 - 总结

[省选联考 2021 A/B 卷] 滚榜

首先明确要拆开 \(\sum b_i\)

因为 \(b_i\) 不降,所以当一个人做了 \(x\) 道,后边的人都至少做了 \(x\) 道。

然后我们考虑提前算贡献,对于一个排名 \(p_i\)(倒序且 \(p_0\)\(a_i\) 最大的位置),贡献是这样的:\(\sum b_i=\sum \max(0,\ a_{p_{i-1}}-a_{p_i}+[p_{i-1}<p_i])\times(n-i+1)\)

这个为什么是对的,可以这样理解,因为只考虑 \(p_i\)\(p_{i-1}\),他们两个加上的东西在计算 \(p_i\) 前是一致的,处于同一起跑线,也相当于没加,所以只看 \(a\) 就可以得出 \(p_i\) 该多做几道题。

得出来这个之后,状态里就不用填上一个的 \(b_i\) 了。

剩下的就是简单状压。

posted @ 2023-11-12 17:16  xaocy  阅读(15)  评论(0编辑  收藏  举报