随笔分类 - programming competition in college / 图论
摘要:在网络流的基础上,在每条边上增加一个单位流量费用的限制,这样的问题就是最小费用最大流。 解决该问题的算法时基于贪心的思想,每次找到从源点到会点费用最小的增广路径,直到不存在增广路为止。 P3381 【模板】最小费用最大流 参考代码 #include<bits/stdc++.h> using name
阅读全文
摘要:最大流是网络中的基本问题,它是基于带权有向图的。 【模板】网络最大流 对于上面的图,可以想象成输水系统。源点为s(出水口),汇点为t(入水口),每条边都有容量,求如何分配水流才能使t点接受到的流量最大。 那么我们很容易得到以下限制 除了源点与汇点,其他所有点流入的流量等于流出的流量。 一条路径的流量
阅读全文
摘要:P6175 无向图的最小环问题 题目简介 给定一张无向图,求图中一个至少包含 3 个点的环,环上的节点不重复,并且环上的边的长度之和最小。该问题称为无向图的最小环问题。在本题中,你需要输出最小的环的边权和。若无解,输出 No solution.。 思路 注意题目中的环为至少包括3个点,并且点不重复。
阅读全文
摘要:在图中,若不存在顶点到其自身的边,且同一条边不重复出现,则称这样的图为简单图。 第一个顶点和最后一个顶点相同的路径称为回路或环(Cycle)。 序列中顶点不重复出现的路径称为简单路径。 除了第一个顶点和最后一个顶点外,其余顶点不重复出现的回路,称为简单回路或简单环。 只有两个点一条边的无向图不能算作
阅读全文
摘要:#定义 2-SAT(Satisfiability)问题是这样的:有n个布尔变量,另有m个需要满足的条件,每个条件的形式都是“$x_i$为真/假或者$x_j$为真/假”(每条语句只有两个变量并且用或连接)。 我们的任务是判断对于n个布尔变量是否有合适的取值(0或1)来满足所有的条件。 #解法 由于每种
阅读全文
摘要:#点双连通分量(bcc) 在一个连通图中(无向图)任选两点,如果他们之间至少存在两条“点不重复”的路径,称这个图为点双连通。一个图中的点双连通极大子图称为“点双连通分量”(block,2-connected component,BCC)。点双连通分量是个“可靠”的图,去掉任意一个点,其他点任然是连通
阅读全文
摘要:弗洛伊德(Floyd-Warshall) 时间复杂度\(O(n^3)\) 多元最短路,核心思想是依次将所有点作为中转点并更新所有路径。 核心代码也只有5行 for(int i=1;i<=n;++i)//外层循环一定是中转点 for(int j=1;j<=n;++j) for(int k=1;k<=n
阅读全文
摘要:#定义 在无向图中,所有能互通的点组成了一个“连通分量”。在一个连通分量中有一些关键的点,如果删除它们,会把这个连通分量分成两个或更多,这种点称为割点(Cut vertex)。 类似的有割边(Cut edge,又称为桥,bridge)问题。在一个连通分量中,如果删除一条边,把这个连通两个(注意边最多
阅读全文
摘要:#定义 欧拉路径 图中所有的边都经过且只经过一次(一笔画)。 欧拉回路 起点与终点相同的欧拉路径。 #欧拉路径(回路)判定 有向图的欧拉路径 图中恰好存在一个点出度比入度多一(起点),一个点入度比出度多一(终点),其余节点出度=入度(可进可出)。 有向图的欧拉回路 所有点的入度=出度(任意点可作为起
阅读全文
摘要:一个图能进行拓扑排序的充要条件是它是一个有向无环图(DAG directed acyclic graph)。 #基于BFS的拓扑排序 先将所有入度为0的点放入队列中(顺序无关紧要),每次将队首弹出的点加入拓扑序列中,然后将该点所有的相邻点入度减1,将入度减为0的点入队。 当队列为空时,若所有点都以加
阅读全文
摘要:#定义 二分图又称作二部图,是图论中的一种特殊模型。设G=(V,E)是一个无向图,如果顶点V可分割为互不相交的子集(A,B),并且图中每条边(i,j)所关联的两个顶点i和j分别属于这两个不同的顶点集$(i\in A,j\in B)$,则称图G为一个二分图。 就是说无向图G中所有点划分为两个集合,并且
阅读全文
摘要:洛谷P1726 #题目简述 在一个有向图中,寻找最大的连通分量并输出(如果有两个连通分量相同输出字典序小的)。 #相关知识 连通 无向图中的两个点可相互到达,则这两个点是连通的。 有向图中的两个点可相互到达,则这两个点是强连通的。 连通图 无(有)向图中,所有的点都可相互到达。 连通分量 无向图中的
阅读全文

浙公网安备 33010602011771号