摘要: 定义: 一种用来存储一个串的所有回文子串的结构; 本质是两颗trie,每个节点存储回文子串的一半,用来代表整个回文串; 两颗是由于回文串长度有奇偶,所以需要奇数节点根和偶数节点根; 每个节点的fail指针表示节点对应回文子串的最大回文后缀节点; 也就是说,x->y说明了y所代表的回文串是x所代表的回 阅读全文
posted @ 2019-01-04 22:14 大米饼 阅读(259) 评论(0) 推荐(0) 编辑
摘要: 题解: 读了半个小时题。。。首先明确题意:求$S$分成至多$k$个串,每个串的子串的最大字典序的最大字典序(要选两次最大)最小 求出sa和ht,本质不同的子串的个数等于总个数减去$sa$里面前后相同的个数:$sum = \sum len - sa[i] - ht[i] $ 因为在后缀数组中本质相同的 阅读全文
posted @ 2019-01-04 21:48 大米饼 阅读(253) 评论(0) 推荐(1) 编辑
摘要: 题解: 分成两部分来求,$\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$是连续的 阅读全文
posted @ 2019-01-04 21:34 大米饼 阅读(246) 评论(0) 推荐(0) 编辑