2-SAT
浪子小黄人
这个作者很懒,什么都没留下…
展开
-
Ikki's Story IV - Panda's Trick (poj 3207 2-SAT)
题意:有n个点在一个圆上,标号0~n-1,有m条线段告诉两个端点的标号,每条线段可以在画在圆内也可以画在圆外,问这m条线段能否不向交。思路:2-SAT模板题,把每条线段当做节点,每条线有两种状态(圆内和圆外,两者只能取其一),建图后求强连通,看 i 和 i‘ 是否在同一个连通分量,若在则无解,否则有解。参考:由对称性解2-SAT问题 还有 kuangbin神牛的总结点击打开链接原创 2015-08-10 13:39:47 · 739 阅读 · 0 评论 -
Katu Puzzle (poj 3678 2-SAT)
题意:n个点给出m个关系(AND,OR,XOR),问是否存在解。思路:2-SAT建图a AND b = 1: ~x->x,~y->y (两个数必须全为1)a AND b = 0: y->~x,x->~y (两个数至少有一个为0)a OR b = 1:~x->y,~y->x (两个数至少有一个为1)a OR b = 0: x->~x,y->~y (两个数必须全为0)a XOR b = 1:x->~y,y->~x,~y->x,~x->y (两个数必须不同)a XOR b = 0:x->y,y->x原创 2015-08-10 15:24:24 · 639 阅读 · 0 评论 -
Wedding (poj 3648 2-SAT 输出任意一组解)
题意:题目太绕了=-=有一对新人结婚,很多对夫妇参加婚礼,共n对。现在安排所有人坐在一张桌子两边,且(1)每对夫妇不能坐在同一侧(2)n对夫妇中有通奸关系(包括男男,男女,女女),有通奸关系的不能坐在新娘的对面。问是否存在可行的安排方案,若存在输出与新娘同侧的人。思路:注意新郎必须在另一边,所以就要加一条新娘到新郎的边以满足情况。原创 2015-08-10 16:57:34 · 947 阅读 · 0 评论 -
Map Labeler (poj 2296 二分+2-SAT)
题意:平面上有n个点,每个点画一个正方形并且该点要落在正方形上边或者下边的中间,问满足条件的最大正方形的边长是多少。思路:二分边长mid,建图用2-SAT作为判断条件。i表示画在上面,~i表示画在下面if|xi-xj|>=mid continue;else if |yi-yj|>=2*mid continue;else if |yi-yj|==0 then i->~j,~i->j,j->~i,~j->i;else if |yi-yj|>0 then ~i->i,j->~j;else |yi-y原创 2015-08-10 19:51:01 · 755 阅读 · 0 评论 -
Get Luffy Out (poj 2723 二分+2-SAT)
题意:有N对钥匙,M扇门,每对钥匙要是用了其中一个另外一个就会马上消失,每扇门上有两把锁,只要打开其中一把锁门就打开了。开门顺序是输入的顺序,问最多能开几扇门。思路:因为是按遇到门的顺序开门,很自然想到二分门的数量mid,然后用2-SAT判断mid时候符合条件。对于每对钥匙a1和a2,a1->~a2(选了a1就不能选a2),a2->a1(选了a2就不能选a1),对于每扇门b1和b2,b1 OR b2=1,~b1->b2, ~b2->b1.原创 2015-08-10 21:47:47 · 875 阅读 · 0 评论 -
light oj 1251 - Forming the Council (2-SAT + 输出任意解)
题意:n个公民m个议员,n个公民对m个公民进行投票,+i表示希望i号议员留下,-i希望i号议员离开,问是否存在一组解满足全部的n个投票,有的话输出任意一组解。思路:每个公民的投票a||b建图,!a->b , !b->a。原创 2015-10-10 17:29:24 · 608 阅读 · 0 评论