首先将原字符串构建SAM。
然后可以发现每次可行的变化是从SAM的一个节点通过link移动到另一个节点。
而且每次都是取那个(Right)集合中最大的后缀。可以发现:如果不是最大的可以在前面扩展字符加到最大,然后其它的可以跟着一起扩展。
代码,待补。