
——2-SAT
FeBr2
(๑•̀ㅂ•́)و✧
展开
-
2-SAT (判断是否有解)——Party ( HDU 3062 )
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=3062 分析: 给出 n对夫妻,和m对矛盾关系,每对夫妻中只能有一个人出席,判断最后能否有n个人出席,就是一个很裸的2-SAT判断有无解的问题。 题解: 1.建图: #define MAXN 4002 //4倍的点 //#define MAXM 8000002 //n*n/2 #de原创 2016-08-02 20:07:47 · 576 阅读 · 0 评论 -
2-SAT——CodeForces #400 D
题目链接: http://codeforces.com/contest/776/problem/D 题意: 给出N扇门的状态:开或者关,给出M个开关,每个开关控制任意数量门,按下开关,这些门的状态同时改变,但是每个门都恰好被2个开关控制,求能否将所有门都打开 分析: 对立关系:开关 用或者不用矛盾关系: 如果某扇门是关闭状态,那么与它相关的两个开关a和b,就只能选择一个使用,不能两个不用:矛盾关系(原创 2017-03-09 17:08:53 · 494 阅读 · 0 评论 -
2-SAT——POJ 3683
题目链接:http://poj.org/problem?id=3683 题意: 给出N个办婚礼的时间段,每次婚礼可以在这个时间段的开始D分钟或者结束D分钟举办,每个婚礼不能在同一时间举办,求能否成功举办这N个婚礼,并输出解 分析: 对立关系:开头办——结尾办 矛盾关系:如果a婚礼在开头/结尾办 与 b婚礼在开头/结尾办重叠了,那么a婚礼的开头/结尾 与 b婚礼的开头/结尾办矛盾 建边然后输出标原创 2017-03-09 16:59:35 · 711 阅读 · 0 评论 -
2-SAT (染色法)—— Peaceful Commission (HDU 1814)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1814 分析: 给出N个党派,每个党派有2i-1和2i两个代表,每一组里只能有一个党的一个带包,给出M对代表间的矛盾关系,求将这2N个党派分别分成N个人一组,输出字典序号最小的一组解。 题解: 对立关系:党派中两个代表矛盾关系:给出的M对关系建边: 若a与b矛盾,建边:a->~b,b->~a。然后原创 2016-10-04 22:14:29 · 612 阅读 · 0 评论 -
2-SAT ( Tarjan )——Wedding (POJ 3648)
题目链接: http://poj.org/problem?id=3648 分析: 给出N对夫妇,标号从0~(N-1),标号为0的夫妻为新娘和新郎,丈夫和妻子不能在同一侧,再给出M对关系,有关系的人不能同时坐在新娘的对面。 题解: 对立关系:夫妻关系a与~a矛盾关系:如果挑选了人a在新娘对面,那么与他有关系的人b 一定 不能在新娘的对面,所以只能挑选~b在新娘对面。建边: 根据矛盾关系建立 a-原创 2016-10-04 21:20:23 · 461 阅读 · 0 评论 -
2-SAT ( Tarjan )——Get Luffy out ( POJ 2723 )
题目链接: http://poj.org/problem?id=2723 分析: 给出2N把钥匙,一共分成 N 对,每一对钥匙只能用其中一把,再出M扇门,每扇门有两把锁,每把锁单独对应一把钥匙,打开一把锁就能打开一扇门,除开第一扇门外,想打开某扇门,必须先打开它前面那一扇。求在给定的条件下,最多能打开多少扇门。 题解: 每一对钥匙只能用其中一把,这也是一道很明显的2-SAT问题。用一个一维数组原创 2016-10-03 14:44:51 · 446 阅读 · 0 评论 -
2-SAT(Tarjan)—— Get Luffy Out *(HDU 1816)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1816 分析: 和POJ 2723差不多,不过每把钥匙可以属于多个组了。 题解:对立关系:一把钥匙用或者不用矛盾关系:如果一扇门上的一把锁不能被打开,那么另外一把锁肯定能被打开。一个钥匙被使用,和它同组的钥匙就肯定不能被使用根据矛盾关系建边,根据对立关系判断有无解。 AC代码: /*********原创 2016-10-03 16:42:05 · 423 阅读 · 0 评论 -
2-SAT (Tarjan)—— Katu Puzzle ( POJ 3678 )
题目链接: http://poj.org/problem?id=3678 分析: 给出N个数字,值可以为0或者1,然后给出M个操作,每个操作对第a个数和第b个数进行 AND/OR/XOR 操作,并且结果要等于c。问这M个操作能否成功进行。 题解: N个数,每个数可以为0(x)或者1(~x),这是一道很明显的2-SAT,但是怎么建边呢。 题中给出了M个操作,我们一一分析一下。 AND:若值为1原创 2016-10-03 11:30:34 · 430 阅读 · 0 评论 -
2-SAT ( Tarjan )——POJ 3207
题目链接: http://poj.org/problem?id=3207 分析: 一个环上按顺序标上1-N个点,给出M条边,可以从圆外连接,也可以从圆内连接,求连接所有的边是否能够保证都不相交。 题解: 每条边有两个状态,只能2选一,要么圆外,要么圆内,所以我们以m条边为点建图,若两条边在同一侧会相交,我们就建边。 AC代码: /********************************原创 2016-10-02 21:53:58 · 319 阅读 · 0 评论 -
2-SAT+二分——HDU 1815
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1815 题意: 给出N个谷仓的坐标,每个谷仓都有一些牛,再给出2个中转站的坐标,中转站之前是连通的,现在要在中转站和谷仓间修建一些路,使得每个谷仓之间都是连通的,并且使得谷仓之间的最大距离最小,输出这个距离。每两个坐标点之间的距离为曼哈顿距离。最后,因为有一些谷仓中的牛之间有矛盾,所以它们所在的谷仓不能原创 2017-03-15 11:47:40 · 447 阅读 · 0 评论