摘要: 树上莫队共有三种写法: 1.按DFS序列分块,和普通莫队类似。常数大,不会被卡。 2.按块状树的方式分块。常数小,会被菊花图卡到O(n)。 3.按[BZOJ1086]王室联邦的方式分块。常数小,不会被卡。唯一的缺点是较抽象,一个块可能是不连通的。 权衡一下当然还是写第三种做法,具体看代码。 然后还有 阅读全文
posted @ 2019-02-18 20:26 HocRiser 阅读(586) 评论(0) 推荐(0) 编辑
摘要: 显然可以离线主席树,这里用莫队+分块做。分块的一个重要思想是实现修改与查询时间复杂度的均衡,这里莫队和分块互相弥补。 考虑暴力的分块做法,首先显然大于n的数直接忽略,于是将值域分成sqrt(n)份,每块记录块内的所有值是否在此当前区间内都已存在。 这样每次暴力从L到R分别放入这个表,最后从小到大询问 阅读全文
posted @ 2019-02-18 18:08 HocRiser 阅读(278) 评论(0) 推荐(1) 编辑