Cactus without Bridges
CF1930H Interactive Mex Tree
等价于需要构造两个排列,能通过 $5$ 个区间,覆盖到且仅覆盖到除了一条路径以外的所有点,可以重复覆盖。
取 $(u,v)$ 的 LCA $l$。
CF1801E Gasoline prices
不懂为啥黑。
暴力一点就是可以拿 DS 暴力维护并查集。拿哈希维护每个点的 $fa$,合并的时候暴力启发式合并修改,则修改次数就是 $\log n$ 级别的。
修改就是二分找到第一个不同的位置,是 $\mathcal O(n\log n)$ 次查询链哈希值,可以 BIT 简单做,复杂度 $\mathcal O(n\log^2 n)$。
也可以用萌萌哒的方式进行倍增,复杂度是 $\mathcal O(n\log n)$ 次并查集操作。
P11118 [ROI 2024 Day 2] 无人机比赛
定义一个二元组 $(u,v)$ 表示第 $u$ 个飞机走到了 $v$,按照时间排序之后,则答案等价于求每个点到达终点的位置之和。
对 $s$ 做一个差分,则 $(u,v)$ 的代价就是 $a_u\times s_v$。注意到如果 $s_i>s_{i+1}$,则 $(u,v)$ 后面紧跟着 $(u,v+1)$。所以 $s$ 序列可以是递增的。这样剩下的 $s$ 的长度就最多是 $\sqrt n$ 级别的。然后就能瞎做了。