题意:求一个字符串中有多少形如AABB的子串. 解:嗯...我首先极度SB的想了一个后缀自动机套线段树启发式合并的做法,想必会TLE. 然后跑去看题解,发现实在是妙不可言... 显然要对每个位置求出向左有多少个AA,向右有多少个BB. 我的想法是对于每个前缀,两两求lca,如果lca的len大于他们的位置之差,显然就有一组了. 这时候把贡献加到其中较长的前缀上.然后反着来一遍就行了. 怎么批量求lca和贡献呢? 考虑计算每个点作为lca时的贡献,显然线段树维护子树内有哪些前缀.合并的时候好像没啥…