POJ
Mori_Miya
这个作者很懒,什么都没留下…
展开
-
POJ_3648题解
题意不多说,其实是不想说=。=... 解法:2-SAT问题,设第i对夫妇中,2*i为妻子,2*i+1为丈夫。 若两人有不正常关系,如a和b,则需要添加边a->!b , b->!a (!a和!b表示不选他(她),选其配偶)。 另外还要再加一条0->1的边表示选择新郎。 然后求强连通分量看是否会有bad lucky,若没有bad lucky,则对图进行染色即可。与新娘同色的原创 2013-09-04 11:09:03 · 389 阅读 · 0 评论 -
POJ_2749题解
解法:二分+2-SAT 二分最长路径长度,得出边,将边加上,再加上之前由于hate和friend的边,2-SAT判断下即可。 具体见代码 //time:454ms //memory:3848KB #include #include #include #include #include #include #include #define BUG printf("hehe\n");原创 2013-09-07 01:24:01 · 927 阅读 · 0 评论 -
POJ_2723题解
有m层楼,每层楼通往下一层的门有两个钥匙孔,需要对应编号的钥匙,只需打开一个钥匙孔,门即可打开。有2×n把钥匙,把钥匙分成n组,每组2把。钥匙互不相同,编号为0-2×n-1,每组钥匙其中一把被使用后,两把钥匙都会消失。问:最多到达那一层楼。 输入: n m 以下n行是n组钥匙里每组钥匙的组成编号 以下m行是1-m层的门上的钥匙孔需要的钥匙。注:不同门可能需要同种钥匙,一扇门也可能原创 2013-09-01 01:22:28 · 484 阅读 · 0 评论 -
POJ_1035题解
传送门:http://poj.org/problem?id=1035 题意:输入很多单词构成一部字典,按#结束字典输入,再输入一些单词,按#结束,查询后来输入的单词是否在字典中存在,若存在则输出 XXXX is correct 若不在字典中存在,则先输出XXXX:,再对该单词进行 删除,替换,插入 操作,判断操作后的单词是否在字典中存在,若存在则输出,若存在多个,则按 这些单原创 2013-02-12 17:58:39 · 260 阅读 · 0 评论 -
POJ_1459题解
题目大意:有发电站,中转站,和用户3种点,发电站和中转站不耗电,用户和中转站不产电。求从发电站到用户的最大电流量。 输入: 2 //点数 1 //发电站数 1 //用户数 2 //边数 (0,1)20 (1,0)10 //边(a,b)c 点a到点b,权值为c (0)15 //发电站 (a)b 发电站a,产电量b (1)20 /原创 2013-02-12 19:50:13 · 278 阅读 · 0 评论 -
POJ_2251题解
http://poj.org/problem?id=2251 题目很简单,就是个三维迷宫题,用广搜可以解决。 在初始化迷宫图的时候在迷宫外围都加上一层 由 ' #' 组成的墙。 Memory:668K Time:16MS #include #include #include using namespace std; struct Level { char m原创 2013-02-08 13:57:50 · 228 阅读 · 0 评论 -
POJ_2296题解
解法:2-SAT问题 二分枚举边长=mid,当abs(x[i]-x[j]) 记2*i为正方形放在上面,2*i+1为正方形放在下面。 当abs(y[i]-y[j])>=mid时,不妨假设y[i]>y[j],则需要添加边2*i+1->2*j和2*j->2*i。 当0y[j],则一定要一上一下的放正方形,故需要添加边2*i+1->2*i和2*j->2*j+1。 当y[i]==y[j]时,需原创 2013-09-04 23:11:10 · 499 阅读 · 0 评论