翻译:
给定一个串S和若干个串Ti
每次询问S[pl…pr]在Tl…Tr中出现的最多次数,以及出现次数最多的那个串的编号。
parent树上线段树合并很常规
但是有个疑问:
这个在trie树上进行一次节点映射,trie上节点被原串覆盖次数是均摊的啊,所以线段树合并复杂度会不会有问题,比如parent树深度子树出现位置特别大
需要对线段树合并的复杂度再学习一下
update:
线段树合并的复杂度保证是每次合并花费小的sz使size翻倍,怎么样都是O(nlogn)的,以前根本没有理解其中的原理
有时间写一下
**
还想到一个dsu的做法,询问挂链,离线dfs加dsu,复杂度应该是O(nlogn^2)**