设 $B^k$ 中第 $i$($i$ 可以是负数,可以从任意一个左括号开始编号)个左括号的位置为 $p(k,i)$,那么 $p(k+1,i)=\min\{p(k,i)+1,p(k,i+1)-1\}$,所以 $p(k,i)=\max_{i\le j\le i+k}\{p(0,j)+k-2(j-i)\}$,于是可以用 RMQ 在 $O(1)$ 的时间求出任意的 $p(k,i)$。
查询区间的左括号个数,只需要二分出左括号的下标区间即可。
As we are currently experiencing an overwhelming number of web requests for fetching user submissions, we have temporarily disabled the full submissions list. You must now be logged in to view submissions.
Type: Editorial
Status: Open
Posted by: jiangly
Posted at: 2025-12-14 06:54:22
Last updated: 2025-12-14 06:54:25
设 $B^k$ 中第 $i$($i$ 可以是负数,可以从任意一个左括号开始编号)个左括号的位置为 $p(k,i)$,那么 $p(k+1,i)=\min\{p(k,i)+1,p(k,i+1)-1\}$,所以 $p(k,i)=\max_{i\le j\le i+k}\{p(0,j)+k-2(j-i)\}$,于是可以用 RMQ 在 $O(1)$ 的时间求出任意的 $p(k,i)$。
查询区间的左括号个数,只需要二分出左括号的下标区间即可。