其他分享
首页 > 其他分享> > 一轮复习

一轮复习

作者:互联网

知识点梳理

Day1 6.7

可能是图论专题吧

Tarjan求强连通分量

1.Tarjan缩点后是一张拓扑图

2.标号的倒序是这张拓扑图一个合法的拓扑序

Tarjan求双连通分量,割点与桥

1.是点双而不是边双的只有两点一线

2.边双缩点后是一棵树

3.一个点可能再多个点双中,于是我们求点双的时候需要在儿子处进行统计low[v] >= dfn[u]

Day2 6.8

昨天打比赛然后今天颓废去了

所以还是图论

争取完结图论?(不可能的。。

最短路

Floyd

这个没啥好说的\(f[i][j]\)表示从\(i\)到\(j\)的最短路,要先枚举中介点\(k\),顺序不能错

因为这实际上是个三维的滚动数组

复杂度\(O(n^3)\)

Dijkstra

1.不能处理带负权的边

优化后是\(O((n + m)\log n)\)

Bellman-Fold算法

就是SPFA复杂度的上界吧,还是SPFA好写,过了

复杂度\(O(nm)\)

K短路

会玄学A*可以水过很多题啊

有一个论文算法,关于可持久化平衡树维护最短路树的

最小生成树

prim

复杂度\(O(n^{2})\),可以类似dij的优化但是优化之后不如kruskal

kruskal

复杂度\(O(E \log E)\)

kruskal的正确性可以在很多思维题求最小生成树中作为优化边数的一种方法

二分图

匈牙利算法

复杂度\(O(n^3)\)

KM算法

复杂度\(O(n^3)\)但常数非常小,适合梦想选手

2-SAT

四种连边

(A,B)不能同时取

那么选了A必须选B',选了B必须选A'

A->B' B->A'

(A,B)不能同时不取

那么选了A'必须选B,选了B'必须选A

A'->B B'->A

(A,B)要么都取,要么都不取

那么选了A'必须选B',选了B'必须选A',选了A必须选B,选了B必须选A

A'->B' B'->A' A->B B->A

(A,A')必须选A

A’->A

选了A'必须选A,保证了A拓扑序在前

解的多解依赖于拓扑序的多情况,这样的话去除了A'在A前面的情况

Day3 6.9

今天写树

圆方树

Tarjan缩点即可

具体题目具体分析了

基环树

会出的题一般都是讨论环上的如何操作

点分治

经常按照过重心和不过重心两种方式考虑

多叉树转二叉树,即左儿子右兄弟

左儿子右兄弟

动态点分治

实质非常暴力,就是在假如叶子的时候,走到重心的路径,若遇到一棵树大小超标,则重构之

斯坦纳树

我怎么会这么个玩意

\(dp[i][S]\)表示特殊点的点集为\(S\),根为\(i\)的最小代价

然后转移有两种,一种是以同一个点为根

\(dp[i][S] = min(dp[i][T] + dp[i][S \oplus T],dp[i][S])\)

一种是从另一个根换过来

\(dp[i][S] = min(dp[j][S] + w[i][j],dp[i][S])\)

前面是子集枚举,后面是暴力

标签:标号,遍历,复习,复杂度,一轮,vis,dfn,dp
来源: https://www.cnblogs.com/ivorysi/p/10987798.html