摘要:
BZOJ 3238 差异 看这个式子其实就是求任意两个后缀的 $ LCP $ 长度和。前面的 $ len(T_i)+len(T_j) $ 求和其实就是 $ n(n 1)(n+1)/2 $ ,这个是很好推的。。 任意两个后缀的 $ LCP $ 长度和很容易想到构造 height 数组,然后问题就变成了 阅读全文
摘要:
BZOJ 3277 串 首先建立广义SAM,然后考虑SAM上一个节点是多少个串的子串。 这是一个从 bzoj 2780 学来的做法,就是建立广义SAM后对于每一个串在SAM上跑出每个前缀所在的节点,这个可以直接转移,然后从这些节点分别跳parent,直到跳到一个已经被这个串以前的点跳到过的点,并把跳 阅读全文