随笔分类 -  图论

摘要:线段树优化建图 https://www.cnblogs.com/harryhqg/p/10456862.html 膜你赛T3path 适用情况 当点数很多,并且边集以区间形式 (点-->区间/区间->点) 给出 强行连边复杂度太大,考虑如何维护同一个子区间的连边,使用线段树优化。 建图思想 点向区间 阅读全文
posted @ 2020-11-10 16:52 ke_xin 阅读(135) 评论(0) 推荐(0)
摘要:无向图的割点与桥 定义 割点:删去这个点,图分裂成两个及以上不相连的子图。 桥(割边):删去这个边,图分裂成两个及以上不相连的子图。 需要说明的是,Tarjan算法从图的任意顶点进行DFS都可以得出割点集和割边集。 割点与桥的关系: 1)有割点不一定有桥,有桥一定存在割点 2)桥一定是割点依附的边。 阅读全文
posted @ 2020-11-04 15:16 ke_xin 阅读(347) 评论(0) 推荐(0)
摘要:有向图强连通分量SCC 强连通分量指的是:在一个有向图中,强联通分量的点可以互相到达 有向图中,如果同时存在从$x$到$y$和从$y$到$x$的有向路径,则称x和y强连通。 有向图的极大强连通子图为强连通分量 图中的每个点只会属于一个强联通分量 孤立的一个点也是一个强连通分量 tarjan算法 时间 阅读全文
posted @ 2020-11-04 14:58 ke_xin 阅读(83) 评论(0) 推荐(0)
摘要:最短路 单源最短路 dijkstra堆优化 O(nlogn) 不能处理负边权 每次从队里拽出来打标记 #include <queue> #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> usin 阅读全文
posted @ 2020-10-10 17:27 ke_xin 阅读(44) 评论(0) 推荐(0)
摘要:最小环 信息传递 dfs #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> using namespace std; typedef long long ll; const int N=2000 阅读全文
posted @ 2020-10-09 17:35 ke_xin 阅读(31) 评论(0) 推荐(0)
摘要:最低可达层 之下的都不可达 之上的都可达 同余最短路,并不是用同余来跑最短路,而是通过同余来构造某些状态,从而达到优化时间空间复杂度的目的。往往这些状态就是最短路中的点,可以类比差分约束跑最短路($f[i]+w<=f[j]$构造最短路不等式(例题luogu 小k的农场)) 知识精要 https:// 阅读全文
posted @ 2020-10-04 19:28 ke_xin 阅读(61) 评论(0) 推荐(0)
摘要:邻接矩阵 CF402E Strictly Positive Matrix 对角线之和>0 , 每个元素>=0 问是否存在$a^k$ 满足每个元素>0 题解 学过矩阵的人都知道对于本题来说整个矩阵里的元素只需要分为两种,一种是为0,一种是不为0。 这样我们就得到了一个01矩阵 转换: 邻接矩阵表示该矩 阅读全文
posted @ 2020-09-01 21:21 ke_xin 阅读(607) 评论(0) 推荐(0)
摘要:差分约束 讲解 如果一个不等式组由 \(n\) 个变量和 \(m\) 个约束条件组成,形成 \(m\) 个形如$x[ j ]-x[ i ]≤k$(\(i,j∈[1,n]\) 且 \(k\) 为常数)的不等式,则称其为差分约束系统。换句话说,差分约束系统就是求解一组变量的不等式组的算法。 \(d_v- 阅读全文
posted @ 2020-09-01 16:32 ke_xin 阅读(43) 评论(0) 推荐(0)
摘要:二分图 博客推荐 https://oi-wiki.org/graph/bi-graph/ 黑白染色,邻点异色 二分图一定无奇环(奇环——边数点数都是奇数) 完全二分图 用kn,m表示(完全图用kn表示) 染色 判断二分图 首先任意取出一个顶点进行染色,和该节点相邻的点有三种情况: 1.未染色 那么继 阅读全文
posted @ 2020-09-01 09:09 ke_xin 阅读(152) 评论(0) 推荐(0)
摘要:2-sat 理解 内含三道例题hdu 2-sat图具有对称性 https://wenku.baidu.com/view/9c0afe2b3169a4517723a353.html ppt上的题 和平委员会 #include <cstdio> #include <cstring> #include < 阅读全文
posted @ 2020-08-29 21:34 ke_xin 阅读(51) 评论(0) 推荐(0)
摘要:圆方树 重要的:::注意点权赋值 在一般无向图上使用它 •配合点双连通分量缩点用的 •对于一个dcc,建立一个方点,dcc内所有点向他连边 •割点关联多个dcc,连接多个方点 •这样会形成一棵树,实际上dcc缩点可以有不同的建树方式 圆方树的点数小于 2n,这是因为割点的数量小于 n,所以请注意各种 阅读全文
posted @ 2020-08-28 10:28 ke_xin 阅读(45) 评论(0) 推荐(0)
摘要:拓扑排序 只针对DAG排序 如果有环,序列长度不为$n$ 时间复杂度$O(n+m)$ 实现: 维护每个点入度,入度为$0$的入队,每次取队首遍历出边,入度$-1$,然后继续让入度为$0$的入队,直到队空 最长路 注意$vis$过$x$才能更新$y$ #include <queue> #include 阅读全文
posted @ 2020-08-26 22:02 ke_xin 阅读(62) 评论(0) 推荐(0)
摘要:网络流 ​ ————重在建模 网络,有向图,源点s,汇点t 最大流 Edmonds−karp(EK)增广路算法 \(O(nm^2)\) \(10^3 — 10^4\) 不断用BFS寻找增广路并不断更新最大流量值,直到网络上不存在增广路为止 在BFS寻找一条增广路时,我们只需要考虑剩余流量不为0的边, 阅读全文
posted @ 2020-08-17 20:58 ke_xin 阅读(47) 评论(0) 推荐(0)