2020年3月13日
摘要: 最短路径 dijkstra:O(N^2),,单源最短路径,不能有负边.可以通过堆优化为O(nlogn+m) //图的结构都用邻接表写 //第一种:最简单的加上记录路径 struct node{ int v; int dis; }; vector<node> G[maxn]; int pre[manx 阅读全文
posted @ 2020-03-13 21:48 shirlybabyyy 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 最小生成树:在无向图中,连接所有的点,不形成环,使所有的边权值和最小的树 算法有:prim算法: dijkstra算法类似(dis[i]的含义不同,dijkstra中是起点,prim中是已经访问过的所有点) 稠密图时使用 O(V^2)kruskal算法:并查集思想,每次都找到最小的边,判断这两个边连 阅读全文
posted @ 2020-03-13 21:45 shirlybabyyy 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 无向图的联通分量 割点:在一个联通分量里面有一些关键点,如果删除它,会把这个联通分量分为更多。 割边——双连通问题 有多少个割点:DFS,深搜优先生成树 对任意一个点s做DFS,生成一棵树 1)如果树的根节点s有两个或更多的孩子:s是割点 2)T的非根节点u是割点:当且仅当u存在一个子节点v,v及其 阅读全文
posted @ 2020-03-13 15:27 shirlybabyyy 阅读(623) 评论(0) 推荐(0) 编辑
摘要: 最大流 一些解释:https://www.cnblogs.com/rmy020718/p/9546071.html 应用:最小割、二分图匹配 eg:水流、贷款、道宽(明显 性质:1)能量守恒 2)反对称性 3)容量限制 算法: 1)“增广路”:Edmonds-karp(EK算法)、Dinic 2)" 阅读全文
posted @ 2020-03-13 15:25 shirlybabyyy 阅读(359) 评论(0) 推荐(0) 编辑