分析 TJOI白给题 建出sam,对于每个点如果它的子树siz和等于k 那么对于这个满足的点它有贡献的长度一定是一个连续区间 直接差分即可 代码 #include<bits/stdc++.h> using namespace std; ]; ]; struct SAM { ][],fa[],ed,ccnt,len[],siz[]; ],nxt[],to[],cnt; inline void init(){ mx=; cnt=ans=; ccnt=ed=; memset(d,,sizeof(d)…