题目意思是给你一个字符串,f[x]是长度为x的子串中,出现个数最多的那个串的出现次数. 给出原串,依次输出f[1],f[2],……. 后缀自动机.对于某一个状态,right[]值的大小就是出现的次数,而且是对于长为step[]的子串的出现次数. 因为小于step值的串在前面已经加了,在pre指针线上面的状态要把当前数量累加上去即可. 不过注意这里要先拓扑排序,这样才能保证更新的正确性.恩,很实用很不错的一种拓扑排序方式.新技能get. 召唤代码君: #include <iostream> #i…