「LibreOJ NOI Round #2」小球进洞

本题解只是该题大致的 hint

考虑用括号序列匹配来描述这个过程。

对每个点,维护 \(c_i\) 表示此时栈的高度。

答案要分成 \(A,B\) 加起来

A 部分

发现 \(i\) 位置多一个贡献的是:

\(\max(0,\min_{j\in [l,i-1]}c_j - c_i)\)

容易用前缀最大值线段树的技巧维护。

B 部分

考虑对于加入了 \([0,x]\) 位置的球,[0,l-1] 中有哪些位置没有被球占到?

\(i+1\) 个位置没被占的条件是:

\(c_i < \min_{j\in [i,x]}c_j\)

依然可以由前缀最大值线段树的技巧维护。

posted @ 2022-04-21 22:37  Rainbow_qwq  阅读(228)  评论(0)    收藏  举报