摘要:
题意:N的虫里面有M对情侣关系,判断其中存不存在“基情”,即在之前确定的异性关系中出现了同性的情侣。分析:我们可以假设异性在不同的并查集里,那么假设有一对情侣a和b是异性关系,那么a和b的异性是同性关系,b和a的异性也是同性关系,即a和b的异性 以及 b和a的异性 在同一个并查集里。为了模拟这个过程,我们假设对于任意一个元素c , c+n是他的默认异性,接下来每一次合并之前判断有没有矛盾就行了。View Code #include <cstdio>#include <cstring>#include <iostream>using namespace std 阅读全文
posted @ 2012-07-05 03:28
lenohoo
阅读(193)
评论(0)
推荐(0)
摘要:
题意:给出一个0-1矩阵,判断是否能从其中选择几行使得选出的行中每一列都有且仅有一个1。分析:dfs , 此题也可以用Dancing Links 优化,因为是一道精确覆盖的题普通搜索:View Code #include <cstdio>#include <cstring>#include <iostream>using namespace std;const int maxn = 18 , maxm = 303;int n , m;int a[maxn][maxm];bool vis[maxm];int ok;bool pan(int i) { for(i 阅读全文
posted @ 2012-07-05 02:49
lenohoo
阅读(294)
评论(0)
推荐(0)
摘要:
题意:火车从一点开到另一点,轨道上有很多岔路口,每个路口都有好几个方向(火车能够选任意一个方向开),但是 默认的是 第一个指向的方向,所以如果要选择别的方向的话得 进行一次切换操作 ,给定一个起点一个终点 ,问最少进行几次 切换操作 能够 使 火车 完成这个历程 , 如果开不到,输出“-1”。分析:设默认路径边权为0,备选路径边权为1,求单源最短路即可。View Code #include <cstdio>#include <cstring>#include <iostream>using namespace std;#define re(i,n) for( 阅读全文
posted @ 2012-07-05 00:05
lenohoo
阅读(283)
评论(0)
推荐(0)
浙公网安备 33010602011771号