树上莫队应该是看明白了,但带修改的莫队好像又忘了,还有回滚莫队到底是什么(雾)
树上莫队采用的是欧拉序将树形结构转化为线性结构,对于刚刚回顾完树剖的我来说还是比较容易理解的,但是能记多久就不清楚了
虽然之前做过主席树的模板题,但现在重新学习就和新的一样,网上的图倒是一目了然,想了一下午竟然才知道每个节点的左右儿子并不是维护区间
昨天开了一场 CF ,题感觉考的比较偏,最近几次做题,分不清楚什么时候应该贪心,什么时候应该使用动态规划,盲目的猜结论,WA了之后才想要造个数据推翻,沉不住气。
这周一道关于莫队的题目的技巧值得记录一下
- 在求区间众数的大小的时候,可以采用分块,但是比较麻烦,但是对于莫队来说就是模板,在用数组 a[x] 记录 x 出现次数的同时,再开一个数组 b[x] 记录出现 x 次的数有多少就可以轻松解决
- 在扩展一下,求区间中出现次数第 k 小的数出现的次数,和上面的题类似,不过众数是最多的,上面所提到的 a,b 数组都要用到,但是还是不够,模拟一下就可以发现我们需要再添加一个数组 c[x] 将 b 数组分块,这样就可以将原来暴力求解第 k 小数变成 的复杂度