其他图论

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

posted @ 2019-03-23 09:44  Smeow  阅读(305)  评论(0编辑  收藏  举报