先抱歉标题党qwq请大佬们帮忙看看有没有假
KMP自动机指的是:KMP中预处理 每个位置后添加每个字符转移到的位置,可用于一些 DP 题。
题意:注意到很多转移边都会指回 0,认为这些边是平凡的,求非平凡转移边数量上界。
设 di 为 i 在失配树上的深度,ci 表示 i 的转移边数量。由于 n 自身不能向后添加字符,故有 cn≤dn−1。
对于 0≤i<n,有显然结论:i+1 的祖先(0 除外)减一均为 i 的祖先。因此我们将 i 的祖先按照下一个字符分类(每一类对应一条转移边),只有一类被全部继承给 i+1,其他类都被全部抛弃了。i+1 自己还会凭空生出一个 0 作为祖先,因此有 ci−1≤di−di+1+1(每一类至少有一个元素)。
综上,答案为 ∑i=0nci≤(dn−1)+∑i=0n−1di−di+1+2≤2n+dn−1+d0−dn=2n。