后缀数组搞一下就可以了喵~ 其实这道题的第一个想法是 SAM ,建完后缀自动机后拓扑排序跑一遍统计下每个子串的出现次数就 O(N) 就妥妥过掉了 后缀树也是 O(N) 的,统计一下每个节点对应的子树中有多少个叶子节点即可 可是看了一下数据范围,欸呦你妹啊,字符数 1000000+1 是什么心态啊!居然把我的后缀树和后缀 zdj 都卡掉了啊! 然后很痛苦的想了想后缀数组的做法: 搞出 sa, rank, height 三个数组后,跑一遍二分,用一个 tot 表示找到了几个子串 二分答案 L,O(N…