Codeforces 666 E.Forensic Examination(伪广义后缀自动机+线段树合并)

E. Forensic Examination

Translation

给定一个串S和若干个串Ti
每次询问S[pl..pr]在r-l+1个串T[l..r]中出现的最多次数(在每个Ti串中),以及出现次数最多的那个串的编号

Solution

将S串和各个T串建在同一个SAM中,并对于每个非nq结点打标记插入线段树中,中间用分隔符隔开

再把询问存到对应位置(在S串中的位置,可以倍增得到)的vector中,边线段树合并边统计答案

 

 

0 0 vote
Article Rating
Subscribe
提醒
guest
0 评论
Inline Feedbacks
View all comments