2013年8月4日
摘要: 问一个无向图是否存在欧拉路径。条件:在无向图中,奇度点为2,其余都为偶度点。端点有字典树处理即可。#include #include #include #include #include #include #include #include #include #include using namespace std;const int maxn = 500010;int n, m;int fa[maxn];int ind[maxn];int outd[maxn];bool vis[maxn];int find(int x){ return x == fa[x]? x : fa[x] = ... 阅读全文
posted @ 2013-08-04 22:55 Buck Meister 阅读(282) 评论(0) 推荐(0) 编辑
摘要: 大意略。关键在于怎样去建图,有冲突之间的点指点连边,然后通过染色的方法去找可行的一组解。#include #include #include #include #include #include #include #include #include #include using namespace std;const int maxn = 2010;const int maxm = 1010*1010*9;struct Edge{ int v, w; int next;}edge[maxm], edge2[maxm];int first2[maxn];int cnt2;int fi... 阅读全文
posted @ 2013-08-04 15:13 Buck Meister 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 2-SAT问题,麻烦就麻烦再需要输出解具体见赵爽论文。可以判断有无解时,用一个映射,把与自己相对的“强联通分量”用hash映射出来,即hash[belong[i]] = belong[i+n]等等。这样在拓扑序染色时就比较方便了。#include #include #include #include #include #include #include #include #include #include using namespace std;const int maxn = 1010;const int maxm = 1010*1010;struct Edge{ int v, w; ... 阅读全文
posted @ 2013-08-04 09:37 Buck Meister 阅读(180) 评论(0) 推荐(0) 编辑