题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4650 https://www.luogu.org/problemnew/show/P1117 和 bzoj2119 股市的预测 一样. 考虑算出每个点往前的 AA 的个数和往后的 BB 的个数,每个点作为 AA 和 BB 分界点的答案累加起来就行. 算一个点开始的 AA 的个数,就是枚举 A 的长度 L ,然后每 L 个分为一段,在段的开头求 LCP 和 LCS ,给合法的位置区间加1就行
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4650 https://www.luogu.org/problemnew/show/P1117 枚举每一段 a 的长度,然后分块,后缀数组求出每一块首关键点附近的可行范围: 然后用线段树区间加,区间查询: 在开头范围查询结尾,就得到长度 <= 当前长度 d 的前半部分接上长度 = d 的后半部分的答案: 在结尾范围查询开头,就得到长度 = d 的前半部分接上长度 < d 的后半部分的答案,