随笔分类 - 图论--欧拉回路
摘要:1176给定一有向图 求其反图的欧拉回路 路径输反了 一直WA。。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 using namespace std; 9 #define N 5010010 int n,m;11 vectored[1010];12 int w[1010][1010],vis[1010];13 int pa[N],num,t;14 void dfs(int u)15 {16 int i;17 for(i = 0 ; i 1 ; i--)46 ...
阅读全文
摘要:都忘了欧拉路径是什么了。。用dfs搜 标记边 刚开始直接从I-N搜 直接超时 2了 先找符合起点和终点的点搜 即度数是奇数d单dfs也超了 后来换了个姿势。。 1 /* 2 ID: shangca2 3 LANG: C++ 4 TASK: fence 5 */ 6 #include 7 #include 8 #include 9 #include10 #include11 using namespace std;12 int w[510][510],n,p[2010],flag,m,de[510],t;13 void dfs(int u,int d)14 {15 ...
阅读全文
摘要:http://poj.org/problem?id=2513每个单词为一个节点 并查集判联通 度数为偶数或有两个为奇数 4A 第三次是由于有多余的测试输出没删掉 前两次统计多少个单词 统计错了View Code 1 #include <iostream> 2 #include<cstdio> 3 #include<string.h> 4 using namespace std; 5 char s[500011][11]; 6 int dd,father[500011],r[500011],dk[500011]; 7 struct node 8 { 9 int
阅读全文
摘要:欧拉回路:图G,若存在一条路,经过G中每条边有且仅有一次,称这条路为欧拉路,如果存在一条回路经过G每条边有且仅有一次,称这条回路为欧拉回路。具有欧拉回路的图成为欧拉图。判断欧拉路是否存在的方法有向图:图连通,有一个顶点出度大入度1,有一个顶点入度大出度1,其余都是出度=入度。 无向图:图连通,只有两个顶点是奇数度,其余都是偶数度的。 判断欧拉回路是否存在的方法有向图:图连通,所有的顶点出度=入度。 无向图:图连通,所有顶点都是偶数度。 程序实现一般是如下过程: 1.利用并查集判断图是否连通,即判断p[i] < 0的个数,如果大于1,说明不连通。 2.根据出度入度个数,判断是否满足要求。
阅读全文