摘要:
定义: 一种用来存储一个串的所有回文子串的结构; 本质是两颗trie,每个节点存储回文子串的一半,用来代表整个回文串; 两颗是由于回文串长度有奇偶,所以需要奇数节点根和偶数节点根; 每个节点的fail指针表示节点对应回文子串的最大回文后缀节点; 也就是说,x->y说明了y所代表的回文串是x所代表的回 阅读全文
摘要:
题解: 读了半个小时题。。。首先明确题意:求$S$分成至多$k$个串,每个串的子串的最大字典序的最大字典序(要选两次最大)最小 求出sa和ht,本质不同的子串的个数等于总个数减去$sa$里面前后相同的个数:$sum = \sum len - sa[i] - ht[i] $ 因为在后缀数组中本质相同的 阅读全文
摘要:
题解: 分成两部分来求,$\sum (len(T_{i})+len(T_{j}))$显然是:$\frac{(N-1)N(N+1)}{2}$ 另外一部分即所有后缀的$lcp$之和的二倍,枚举每一个$sa[i]$; 这样对于每个j从小到大的$sa[j](j<i)$来说和$sa[i]$的$lcp$是连续的 阅读全文