![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
2-SAT
HonniLin
double fighting
展开
-
POJ 3678 - Katu Puzzle(2-SAT)
题目: http://poj.org/problem?id=3678 题意: 有一个n元素的集合, 给出元素之间的关系,(and,or, xor),求出是否满足有满足这样关系的集合. 思路: 2-SAT, 每一个点只能取0/1. 规律: a and b ==1 , !a->a , !b -> b (a=1, b=1) a and b ==0 , a原创 2015-04-01 21:23:21 · 525 阅读 · 0 评论 -
POJ 2723 - Get Luffy Out(2-SAT)
#题目: http://poj.org/problem?id=2723 #题意: 2*n把钥匙, 两两配对成n对,用其中一把另一把就会消失. m个门, 每个门上有两把锁, 打开其中一把就可以打开门. 门打开的顺序应该按照输入的顺序. 求出最多能打开几扇门. #思路: 每对钥匙只能用其中一把,每个门至少打开一把锁, 符合2-SAT... 1.对于N个点(A,B)表示钥匙,只能用其中的原创 2015-04-02 14:12:37 · 494 阅读 · 0 评论 -
POJ 3683 - Priest John's Busiest Day(2-SAT)
题目; http://poj.org/problem?id=3683 当模版. AC. #include #include #include #include #include using namespace std; const int maxn = 1005; int n, m; int S[maxn], T[maxn], D[maxn]; int V; vector原创 2015-04-01 14:33:13 · 512 阅读 · 0 评论 -
POJ 2749 - Building roads(2-SAT+二分)
题目: http://poj.org/problem?id=2749 题意: 有n个牛棚, 有两个特殊点P1, P2,牛棚只能连接P1, P2, 有A个牛棚不能连在同一个点,有B个牛棚一定要连在同一个点,求出最小的最长距离,(距离是曼哈顿距离. 思路: 2-SAT + 二分. 每次二分后重新建边,互为敌人,互为朋友,以及距离超过mid的两点不能建边. 关键是边的相连.想把或表达式原创 2015-04-06 10:12:27 · 593 阅读 · 0 评论 -
UVALive 3211 - Now or later(2-SAT + 二分)
题目: http://acm.hust.edu.cn/vjudge/contest/view.action?cid=72618#problem/E 题意: n架灰机, 有早着陆和晚着陆两个时间,要使得着陆安全即同一时间只能有一架灰机着陆,求出相邻两个着陆时间的最小值. 思路: 最小值尽量大, 使用二分. 使用强连通分量的2-SAT会超时. 要使用染色法 AC. #include原创 2015-04-07 17:30:48 · 509 阅读 · 0 评论 -
UVALive 3713 - Astronauts(2-SAT)
题目: http://acm.hust.edu.cn/vjudge/contest/view.action?cid=72618#problem/F 题意: 有A,B,C三个任务要分给n个宇航员,年龄大于等于平均年龄的分A, 年龄小于平均年龄的分在B,C组没有界限,互为敌人的两个宇航员不可以在同一组.求出一个分配的方案. 思路: 2-SAT. 同一年龄互为敌人: x^y=1 !x^!y原创 2015-04-07 16:37:42 · 481 阅读 · 0 评论 -
HDU 4421 - Bit Magic(2-SAT)
题目: http://acm.hdu.edu.cn/showproblem.php?pid=4421 题意: 给出一个矩阵,询问是否存在一个a序列,使得符合矩阵中,b【i%2=1】【j%2=1】= a[i]|b[j] ; b【i%2=0】【j%2=0】= a[i] & a[j];其他b【i】【j】 = a[i]^b[j]. 思路: 将数的每个二进制位分别建图,跑2-SAT. AC.原创 2015-09-17 15:21:43 · 406 阅读 · 0 评论