图论-2-SAT
LYoGa
这个作者很懒,什么都没留下…
展开
-
UVALive3713-Astronauts(2-SAT)
题目链接题意:有A、B、C3个任务分配给n个宇航员,其中每个宇航员恰好分配一个任务。假设n个宇航员的平均年龄为x,只有年龄大于x的才能领取A任务;只有年龄严格小于x的才能领取B任务,而任务C没有限制。有m对宇航员相互讨厌,因此不能分配同一任务。求出是否能找出符合的任务方案。思路:用xi表示第i个宇航员的分配方案。年龄大于等于x的可以选择A(xi = true)和C(xi原创 2014-10-04 21:13:49 · 1071 阅读 · 0 评论 -
UVALive3211- Now or later(二分+2-SAT)
题目链接题意:有n架飞机。每架飞机都可以选择早着陆和晚着陆两种方式之一,且必须选择一种。任务就是安排所有飞机着陆时,相邻两个着陆时间间隔的最小值尽量大。思路:用二分处理最小值尽量大。该题目可以转化为是否存在一个调度方案,使得相邻两个着陆时间差总是不小于P,进一步转化为任意两个着陆时间差总是不小于P。,假设布尔变量xi表示第i架飞机是否早着陆,唯一限制就是“时间差小于P的原创 2014-09-28 15:47:22 · 1129 阅读 · 0 评论 -
HDU1824-Let's go home(2-SAT)
题目链接原创 2014-11-10 19:46:08 · 784 阅读 · 0 评论 -
HDU3622-Bomb Game(2-SAT+二分)
题目链接题意:给n对炸弹可以放置的位置(每个位置为一个二维平面上的点),每次放置炸弹是时只能选择这一对中的其中一个点,每个炸弹爆炸的范围半径都一样,控制爆炸的半径使得所有的爆炸范围都不相交(可以相切),求解这个最大半径。思路:二分答案,其中建图,用2-SAT判断方案是否可行。代码:#include #include #include #include原创 2014-11-10 20:58:39 · 947 阅读 · 0 评论 -
HDU3062-Party(2-SAT)
题目链接思路:2-SAT的模版题代码:#include #include #include #include #include using namespace std;const int MAXN = 10005;struct TwoSAT{ int n; vector g[MAXN * 2]; bool mark[MAX原创 2014-11-03 10:40:44 · 945 阅读 · 0 评论 -
UVA11294-Wedding(2-SAT)
题目链接题意:有n对夫妻参加一个婚宴。所有人都坐在一个长长的餐桌的左边或者右边,所有夫妻都只能面对面坐,包括新娘和新郎。新娘只能看到坐在她不同侧的人。有m对人超过架,新娘不希望看到他们坐在同一侧。问有没有分配方案满足新娘的要求。思路:2-SAT问题。假设每对夫妇为一个变量xi。假设xi为true时,妻子与新娘坐同一侧;xi为false时,丈夫与新娘坐同一侧。当xi和xj原创 2014-10-05 15:09:18 · 944 阅读 · 0 评论