QOJ.ac

QOJ

Type: Editorial

Status: Open

Posted by: Milmon

Posted at: 2026-03-29 19:50:57

Last updated: 2026-03-29 19:51:01

Back to Problem

题解

找出所有 Runs 之后即可求出每一个位置作为三个串循环的结尾时以及作为两个串循环的开头时,串长的最小值,即可求出每个位置作为结尾时符合条件的串的左端点的最大值。通过预处理这个信息的前缀 $\max$ 即可做到 $\mathcal{O}(1)$ 回答询问。

时间复杂度为 $\mathcal{O}(N \log N + Q)$。

Comments

No comments yet.