图论杂题选讲
$MST$:
T1:
给定一个$n$个点,$m$个边的图,问强制有该边的最小生成树权值($n\leq 10^6,m\leq 10^6$)
建MST,然后若为树枝边则不管,否则就求一下加入后为环的最大值删除即可(求个$lca$就行)
简称:树上路径最大值
T2:
给定$m$个集合连边,图中共有$n$个点($n\leq 10^5,m\leq 10^5$)
$Kruskal$,按权值排序,然后能连就连。拆成$5$种情况,4(树上直链,例如$S(a_i,lca(a_i,b_i))$)与一个$(a_i,c_i)$
维护一个是否被连过即可(并查集修改),每个节点只会合并一次
T3:
$n$点的完全图,异或为点权,求$MST$
$Boruvka$算法,但并没有学过,自己上网搜吧!
找权值最小的出边,然后合并,时间复杂度$O(m\times \log n)$
$最短路$
T1:
$n\times m$个格子,从$(1,1)$走到$(n,m)$,然后有四种颜色,有相对应的权值,然后问你最小权值是多少($1\leq n,m \leq 2501$)
维护$4$个优先队列(因为时间单调递增),然后就可以瞎搞了
T2:
$floyd$算法,找中转点。