[省选联考 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\) 了。
剩下的就是简单状压。