12 2018 档案

摘要:题解: 我们考虑到 对于一个AC自动机而言 建好fair指针后 不能再插入字符串并维护fair指针 所以我们考虑暴力的做法 在加入字符串的同时 并重新构造fair指针 这样的复杂度是接受不了的 因为对于一个字符串而言他会被操作n次 我们考虑到一个优化是说 对于第一个插入的字符串我们没必要一直在后面的 阅读全文
posted @ 2018-12-13 22:11 wang9897 阅读(182) 评论(0) 推荐(0)
摘要:题解: 对于任何一个串的前x字符内的本质不同子串 我们可以直接在SAM树上得到 然后我们考虑循环串的性质 (设循环节长度为l ) 则大于2*l的位置为等差数列 即每增加一个字符则增加l个本质不同的子串 所以对于2*l我们在后缀树上处理处理 对于x>2*l我们 通过等差求得 F. 日落轨迹 单测试点时 阅读全文
posted @ 2018-12-08 01:23 wang9897 阅读(272) 评论(0) 推荐(0)
摘要:题解 注意 p*k=定值 那么我们对k进行分情况讨论 当k很小的时候 这时候询问次数会很多 我们考虑直接莫队处理出这次询问所对应子串区间 然后直接对应sam上的right集合即可 当k很大的时候 这时候询问次数会很少 我们暴力枚举每个区间是否属于这次询问 然后logn倍增查询即可 #6031. 「雅 阅读全文
posted @ 2018-12-05 21:05 wang9897 阅读(526) 评论(0) 推荐(0)
摘要:题解: 首先建出后缀自动机 我们考虑对于每个节点i 在其parent树上找到离其最近的j让s[j]子串在s[i]中出现>=2次以上(因为在j祖先节点必然都满足条件 但显然最近的最优) 所以把原parent树转化成新树 新树的最大高度即为答案 具体实现 可以倍增+线段树合并 E. Cool Sloga 阅读全文
posted @ 2018-12-04 19:03 wang9897 阅读(312) 评论(0) 推荐(0)
摘要:题解:用平衡树维护hash 二分答案即可 1014: [JSOI2008]火星人prefix Description 火星人最近研究了一种操作:求一个字串两个后缀的公共前缀。比方说,有这样一个字符串:madamimadam,我们将这个字符串的各个字符予以标号:序号: 1 2 3 4 5 6 7 8 阅读全文
posted @ 2018-12-02 22:40 wang9897 阅读(181) 评论(0) 推荐(0)