做题记录(Jan.)
1.2
CF1638E
新年第一题。发现第一种操作和珂朵莉树的 assign 很像,考虑用珂朵莉树维护。
对于第二种操作,可以打懒标记,表示某种颜色加了多少。
那么在做第一种操作时,我们就需要把原来的懒标记给处理了再变色,并且变色后还需要减去这个颜色的懒标记以保证答案正确。
处理懒标记涉及区间加,第三个操作是单点查,所以可以树状数组维护。
P9320
和上面一道差不多,但是多了一个 LCA。
CF981G
用 \(n\) 珂朵莉树维护每个可重集中有没有 \(i\),每次 assign 时对于每个段,若值是 \(0\) 就在线段树上 \(+1\),否则 \(\times 2\),然后把 assign 的区间都赋值成 \(1\)。
1.4
P8435*
点双板子。
1.9
CF487E*
被我写的弱智重剖硬控了一周。
先用 tarjan 缩成圆方树,然后每个圆点记录自己的值,方点记录在树上自己儿子的值的最小值。
剩下的全都是重剖,查询时如果 LCA 是方点,额外和它的父亲取个最小值。
全当复习重剖了。
1.10
P1494*
普通莫队板子。
P1903*
带修莫队板子。
1.12
P4074*
树上(带修)莫队板子。

浙公网安备 33010602011771号