CF1416D Graph and Queries
一种非常神奇的做法,刚开始以为是 DAG 直接规约追忆了。
首先我们倒着可以处理出哪些边会被干掉,也知道将一条边分割开后剩下连通块的信息。
那么我们进行逆启发式合并,维护一个每个连通块的 \(a\) 的 set,然后每次将小的那一边拿出来暴力做就是 2log 的了。
如果要做到 1log,初始对其进行排序,记录一个 cnt 表示取过多少个最大值,需要精细实现就可以了,整个过程也形如归并的逆变换。
一种非常神奇的做法,刚开始以为是 DAG 直接规约追忆了。
首先我们倒着可以处理出哪些边会被干掉,也知道将一条边分割开后剩下连通块的信息。
那么我们进行逆启发式合并,维护一个每个连通块的 \(a\) 的 set,然后每次将小的那一边拿出来暴力做就是 2log 的了。
如果要做到 1log,初始对其进行排序,记录一个 cnt 表示取过多少个最大值,需要精细实现就可以了,整个过程也形如归并的逆变换。