![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
图论
雾
sakurain_
这个作者很懒,什么都没留下…
展开
-
图论-二分图-染色、最大匹配(匈牙利算法)
染色法判断二分图 染色法原理: 首先任意取出一个顶点进行染色,和该节点相邻的点有三种情况: 如果未染色,那么继续染色此节点(染为另一种颜色) 如果已染色但和当前节点颜色不同,则跳过该点 如果已染色并且和当前节点颜色相同,返回失败(该图不是二分图) 明确二分图、奇数环、染色法之间的关系: 如果一个图中存在奇数环,那么这个图一定不是二分图;这一点显然成立。 如果一个图中不存在奇数环,那么这个图一定是二分图: 证明略 模板: #include<bits/stdc++.h>原创 2021-03-10 19:20:12 · 276 阅读 · 0 评论 -
拓扑排序
拓扑排序 很简单的一个东西,之前学由于完全没有图论基础知识没学懂 是什么 在图论中,拓扑排序(TopologicalSorting)(Topological Sorting)(TopologicalSorting)是一个有向无环图(DAG,DirectedAcyclicGraph)(DAG, Directed Acyclic Graph)(DAG,DirectedAcyclicGraph)的所有顶点的线性序列。 且该序列必须满足下面两个条件: 1.每个顶点出现且只出现一次。 2.若存在一条从顶点 A 到顶点原创 2020-11-19 10:35:55 · 136 阅读 · 1 评论 -
Codeforces Round #677 (Div. 3) D. Districts Connection
题意: 给出一些节点,每个节点有权值,权值相同的节点不能相连,问是否有办法使用n-1条边将所有节点连成连通图。如果可以,输出路径。不可以输出NO即可。 题解: 只要有不同的必定有答案 只需要将所有与第一个不同的与第一个相连 再将剩下的与其他任意一个相连即可 比赛没做出来,人傻了 code: #include<bits/stdc++.h> using namespace std; int a[5010],vis[5010]; void solve(){ int n; cin>.原创 2020-10-21 20:53:33 · 252 阅读 · 1 评论 -
拓扑排序
拓扑排序 一、什么是拓扑排序 在图论中,拓扑排序(Topological Sorting)是一个有向无环图(DAG, Directed Acyclic Graph)的所有顶点的线性序列。且该序列必须满足下面两个条件: 每个顶点出现且只出现一次。 若存在一条从顶点 A 到顶点 B 的路径,那么在序列中顶点 A 出现在顶点 B 的前面。 引用自csdn神奕的博客 那么如何在一个DAG中找出他的拓扑...原创 2020-01-12 14:20:26 · 169 阅读 · 0 评论 -
POJ 2253 Frogger(最短路的最小权值)
Frogger 解题思路: 有N块石头,1—N。每块石头都有x,y坐标,青蛙一号站在第一块石头上,青蛙二号站在第二块石头上,青蛙一号想要通过这N块石头去找青蛙二号,因为青蛙一号可以踩在任何一块石头上,所以从第一块石头到第二块石头有很多条路径,假设为X,在每一条路径中,都有跳跃范围(即在这条路径中,两块石头之间的最大距离),那么一共有X个跳跃范围,我们要求的就是这X个跳跃范围的最小值,就是the ...原创 2019-12-08 15:28:07 · 119 阅读 · 0 评论 -
Til the Cows Come Home-Poj2387(最短路)
Til the Cows Come Home-Poj2387 题目大意:有N个点,给出从a点到b点的距离,当然a和b是互相可以抵达的,问从1到n的最短距离 思路:bellman-ford求最短路模板题,此题是多组输入(卡我好久c++) //#include<bits/stdc++.h> #include <iostream> #include <vector> ...原创 2019-12-07 11:16:03 · 261 阅读 · 0 评论