摘要: 先求SA,然后按字典序从小到大枚举子串,每到一个后缀从长到短枚举子串(跳过长为he[i]的和前一段重复的子串),然后维护一个点p,保证i~p之间最小的he =当前枚举长度,p是单调向右移的 然后把每个后缀的结果倒着输出即可 阅读全文
posted @ 2019-02-26 17:07 lokiii 阅读(105) 评论(0) 推荐(0)
摘要: 总是犯低级错误,st表都能写错…… 正反分别做一遍SA,预处理st表方便查询lcp,然后处理a[i]表示前i个后缀一共有多少个本质不同的子串,这里的子串是按字典序的,所以询问的时候直接在a上二分排名就能得到询问区间,然后用正反st表查lcp即可 cpp include include include 阅读全文
posted @ 2019-02-26 11:36 lokiii 阅读(163) 评论(0) 推荐(0)