其他图论
dfs:
无向图:证明,构造,一条非树边对应一个环。
有向图:只有前向边和树枝边从dfn小的点指向dfn大的点。
bfs:
无向图:边只会在同层或相差不超过一层的点之间。
有向图:满足\(d(u)+w(u,v)~\ge~d(v)~~(w(u,v)\)是指\(u\)到\(v\)的路径\()\)。
SCC:
\(1.\)缩点成DAG。
\(2.\)竞赛图(任意两点都至少有单向边)缩点后是一条链,可以动态维护强连通性。
DCC:
\(1.\)把\(E-DCC\)缩成树。
\(2.\)把点双建成圆方树(原图中任意两点的路径的并等价于圆方树上两点的路径)。
\(3.\)动态维护双连通性。
最短路:
\(1.\)删点/边后维护最短路:在最短路树上操作。
\(2.\)有零环时最短路图不一定是DAG。
\(3.\)边权小时,\(dijkstra\)可以用桶代替堆(总共只for一遍)。
\(4.\)差分约束系统:\(f(x)-f(y)\le w(x,y)\)能够转化成最短路,差分或前缀和为变量。
欧拉回路:
\(1.\)有向/无向图上欧拉(回)路的求法。
2-SAT:
\(1.\)建立辅助变量、前缀后缀优化建图。
\(2.\)修改限制->在图中加边删边。
最小生成树:
\(1.\)最小瓶颈路为最小生成树上的路径。
\(2.\)动态维护图的连通性(LCT维护最大删除时间生成树)
\(3.\)完全图最小生成树,边权与点权有关:去掉无用边(曼哈顿距离(莫队),gcd);数据结构维护最小出边:XOR。
\(4.\)最小生成环套树(CF875F)。
仙人掌:
圆方树dp。
Domanitor Tree:
有向图做法&&bitset 压位做法。
Steiner Tree
掌握裸dp。
网格图算法:
分治、dp。
平面图:
对偶
problems:
USACO2018Dec Platinum C
ASC 17C Forbidden Subwords
k短路
树上k大联通块
SGU 307 Cipher
codeforces 875F
BZOJ3569 (杜教黑科技)
HDU 6408 Card Game
Codeforces 936E Iqea
gym 100739H Molecules
Codeplus 11月Div.1 C
UOJ 455