题目大意:给定平面上的n个点,要求将每个点染成红色/蓝色,使得每行/每列的红色点数和蓝色点数之差≤1\leq 1将每一个横坐标/纵坐标看做一个点,每个点看做一条连接两个坐标的边
现在我们要将每条边染色使得每个点连接的所有边中两种颜色之差≤1\leq 1首先找到度数为奇数的点 这样的点一定有偶数个
将度数为奇数的点两两配对连边,这样所有点的度数就都是偶数了
然后对于每个连通块,任选一个初始度数为...
分类:
其他好文 时间:
2015-05-28 18:04:39
阅读次数:
169
欧拉路径与欧拉回路感觉这一块网上说的有点乱,很多东西都没有说清楚,或者都缺一些东西,所以在这里打算好好的总结与归纳一下关于欧拉路径与欧拉回路的问题。概念欧拉路径:从某一起点开始,可以沿某路径遍历图中每一条边一次且仅一次,则称此路径为欧拉路径
欧拉回路:若欧拉路径中的起点和终点相同,则其为欧拉回路一般情况下,如果一个图是由欧拉回路构成的,我们则称之为欧拉图。否则,当其是由欧拉路径构成的话,我们就称之...
分类:
其他好文 时间:
2015-05-26 21:34:08
阅读次数:
248
2014西安邀请赛 魔性构造 辛辛苦苦DIY了一个非递归的欧拉回路/路径(手写栈、goto语句) 教训还是对各种知识点不熟导致遇到了题目却不能很快找到真正对应的知识点
分类:
其他好文 时间:
2015-05-21 22:21:44
阅读次数:
139
首先二分答案。。。然后这张图变成了有一些有向边,有一些无向边然后就是混合图欧拉回路的判断我们知道如果是有向图,它存在欧拉回路的等价条件是所有点的出度等于入度对于混合图。。。先不管有向边,把无向边随意定向首先要满足条件就是当前图的点的度数都是偶数,因为把一条边反向端点的出度入度之差改变了2,奇偶性不变...
分类:
其他好文 时间:
2015-05-17 00:36:26
阅读次数:
244
题目链接:#include
#include
#include
#define M 28
using namespace std;
int fa[M];
int Find(int x)
{
return x==fa[x]?x:fa[x]=Find(fa[x]);
}
int main()
{
int T,n;
char str[1005];
int in_degre...
分类:
其他好文 时间:
2015-05-13 14:56:04
阅读次数:
140
题意:给出n个单词,问这些单词能否首尾相连组成一个整体,其中部分单词可以翻转。
思路:将每个单词的首尾字母看成结点,每个单词看成一条边,可以看出这是一张混合图,要求判断是否有欧拉路。使用判断欧来回路的方法,如果存在欧拉回路那么就一定存在欧拉路了;否则如果有且仅有两个点的(出度-入度)是奇数,那么给这两个点加边,判断是否存在欧拉回路。注意这一题要判断图的连通性。...
分类:
其他好文 时间:
2015-05-13 10:33:56
阅读次数:
171
// uva 10054 The Necklace 欧拉回路
// 以颜色为节点,两种颜色互相连着有向边,然后跑一边欧拉回路就ok了
// 这题套了余老师模板书上的欧拉回路,然后就过了
//
// 通过这题我了解到了,欧拉回路的基本思想
// 哎,继续练吧。。。
#include
#include
#include
#include
#include
#include
#include...
分类:
其他好文 时间:
2015-05-12 17:16:58
阅读次数:
105
对于有向图和无向图的欧拉回路判定,很容易做到.那对于混合图呢?? 混合图就是图中既存在无向边又存在有向边的图. 至于解法: 转载自这里 把该图的无向边随便定向,计算每个点的入度和出度。如果有某个点出入度之差为奇数,那么肯定不存在欧拉回路。因为欧拉回路要求每点入度 = 出度,也就是总度数为偶...
分类:
其他好文 时间:
2015-05-12 00:01:03
阅读次数:
293
题意:输出长度为n,长度为4的子串不能重复出现的 小写字母组成的 字符串。
做法:最大长度为4的字符串一共有 26^4个, 如果他们都能连接 如 aaaa 和aaab 可以连接为 aaaab。 如果能都连接的话,最长 长度为26^4+3= 456979。
构造,先把 相同的 构造好, aaaabbbbccccdddd.....yyyyzzzz。把出现过的存在一个4维数组里 如 aaaa,就把dp[0][0][0][0]=1。 如 aazz 就把dp[0][0][25][25]=1;
然...
分类:
其他好文 时间:
2015-05-09 11:47:12
阅读次数:
170
并查集判断连通,欧拉回路判断是否成链,看网上很多地方都写得很清楚我就不再说什么是欧拉回路了
注意首尾的判断一定要用入度与出度的差等于1来判断,而不能用认为入度为0,出度为1的时首,入度为1,出度为0的是尾。
给一组数据
1
3
aba
a
ab
Ordering is possible.
#include
#define maxn 27+5
using namespace std...
分类:
其他好文 时间:
2015-05-08 09:39:54
阅读次数:
140