![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
图论基础
文章平均质量分 66
AcDora
这个作者很懒,什么都没留下…
展开
-
UVa 10596 Morning Walk ( 欧拉回路 )
有一段时间不写并查集了,结果写的时候手生,写错了!老大给了这道题, 我开始以为老大给的应该是搜索的题目,分析了一下,搜索是可以做的,但是搜的过程比较麻烦,后来看到了 a single walk,看来就是一笔换的问题的,需要回到home,连回家的过程都不能走原来的路,所以是回路!我看了好几遍题目,才读得彻底,它其实是个无向图的欧拉回路!说一点体外话,与题目关系不大,我觉得ACM最重要的,除了原创 2013-04-22 21:54:37 · 789 阅读 · 0 评论 -
UVa 10054(欧拉回路)
这里普及一下欧拉回路的知识。欧拉道路是指从图中的任意一个点开始遍历,每条边恰好经过一次,这样的道路就是欧拉道路。如果能从任意一个点出发,并回到这个点,每条边恰好经过一次,这样的道路是欧拉回路。欧拉道路的判定:在无向图中,最多只有度数为奇数的点,则一定存在欧拉道路,并且要从一个奇点出发,到另一个奇点结束;如果全部都是偶数度数的点,那么就一定存在欧拉回路。对于有向图,最多有两个点的入度不等原创 2013-04-15 22:40:27 · 1074 阅读 · 0 评论 -
HEU euler path
欧拉回路#include #include #include using namespace std;const int N = 110;int n, m, T;int s, e;int g[N][N];int main(){ scanf("%d", &T); while ( T-- ) { scanf("%d%d", &n, &m);原创 2013-04-24 21:30:19 · 922 阅读 · 0 评论 -
UVa 10129 Play on Words ( euler path )
欧拉路径的问题。有向图判定是否存在欧拉道路的步骤:判定连通,判定点的入度和出度的关系!首先,因为单词的摆放是有方向的,所以要建一个有向图。其中,要注意的是,很可能会有重边出现,所以一定要做的一件事是记录重边的个数,因为在满足图去掉方向之后是连通的,那么就看每个点入度和出度的关系就好;然后,判断这个图是否连通,如果不连通,可以肯定是没有方案存在的;接下来是判断一共有几个点是入度和原创 2013-04-19 22:28:11 · 922 阅读 · 0 评论 -
UVa 315 Network ( 求割顶)
这道题很简单,就是一道模板,求一共有多少个割顶。开始时候,模板理解得有点偏差,不过好在又想了想。这里要注意的是,主函数里面的那个for循环是必要,一面一个图有多个连通分量。同时,还要注意不要忘记填加vis这个标记,如果不添加vis也是可以的,因为pre也是一样的功能。代码:#include #include #include using namespace std;const原创 2013-05-13 12:02:19 · 1854 阅读 · 0 评论 -
796 Critical Links( 求无向图中的桥--模板)
很典型的求无向图的桥个数,并且输出代码:#include #include #include #include using namespace std;const int N = 110;int n, ans, g[N][N];int dfs_clock, pre[N], low[N];bool is[N][N];int dfs( int u, int fa ){原创 2013-05-14 14:12:07 · 1280 阅读 · 0 评论