线段树套 Trie 肯定不行,空间开不下。
于是学习了一种新科技——线段树分治。
就是把操作离线之后,建一棵线段树,并模拟线段树遍历的过程分治。
在此题上的体现,就是把操作根据时间轴丢到线段树上,然后遍历线段树用可持久化 Trie 算答案。
也就是说,把询问对应的时间区间在线段树上拆分成几个区间,放在线段树的结点上。
修改操作会对其到根的一条链都产生影响,只需要在遍历的时候保留即可。
然后每次算的时候,把 Trie 的动态开点计数器清零。
不过有一点很奇怪,某个地方 static 开了变成 0 分,不开变成 AC?
代码:
1 |
|