描述:
给出这样的一个矩阵,求原来的a数组
2-sat题,对每个位跑一边,跑31个位即可
具体建边
注意N=1的情况特判,还有检查对称元素是否相同
#include
#include
#include
#include
#include
#include
#define pb push_back
#include
using namespac...
分类:
其他好文 时间:
2014-10-08 12:43:25
阅读次数:
272
关键在于找出一定矛盾的条件,设一队的3个人为(a,b,c),a为队长,那么(a不留下,b不留下)矛盾,(a不留下,c不留下)矛盾; 对于每一对队员,(a留下,b留下)矛盾。把模型建好,剩下的就是套模板了。 1 #include 2 #include 3 #include 4 using namesp...
分类:
其他好文 时间:
2014-10-06 02:48:29
阅读次数:
203
题目链接
题意:有n对夫妻参加一个婚宴。所有人都坐在一个长长的餐桌的左边或者右边,所有夫妻都只能面对面坐,包括新娘和新郎。新娘只能看到坐在她不同侧的人。有m对人超过架,新娘不希望看到他们坐在同一侧。问有没有分配方案满足新娘的要求。
思路:2-SAT问题。假设每对夫妇为一个变量xi。假设xi为true时,妻子与新娘坐同一侧;xi为false时,丈夫与新娘坐同一侧。当xi和xj...
分类:
其他好文 时间:
2014-10-05 16:18:14
阅读次数:
129
题目大意:圆盘上顺次安放0, 1, 2, …, n – 1的点,每次给出两个点需要连边,可以选择在圆盘的正面连边或在圆盘的反面连边,问是否存在一种方案使得所有连线不相交?思路:本问题可以等价成:圆盘上原本有N条线,每条线在正反面都有画上,将在正反面的两条线只保留一根,问是否存在一种方案使得所有连线不...
分类:
其他好文 时间:
2014-10-05 14:43:28
阅读次数:
198
http://acm.hdu.edu.cn/showproblem.php?pid=1213
做到一道网赛题 2-sat可写 貌似并查集也可写 但是并查集做法没想到 先水几道并查集重新理解下然后再去做
学到的就一点 Father数组中有些值一直保持最初的father[x] == x 最终集合的个数可以通过这个判断
#include
#include
#include
#inclu...
分类:
其他好文 时间:
2014-10-05 03:47:37
阅读次数:
143
题目链接
题意:有A、B、C3个任务分配给n个宇航员,其中每个宇航员恰好分配一个任务。假设n个宇航员的平均年龄为x,只有年龄大于x的才能领取A任务;只有年龄严格小于x的才能领取B任务,而任务C没有限制。有m对宇航员相互讨厌,因此不能分配同一任务。求出是否能找出符合的任务方案。
思路:用xi表示第i个宇航员的分配方案。年龄大于等于x的可以选择A(xi = true)和C(xi...
分类:
其他好文 时间:
2014-10-05 00:04:17
阅读次数:
196
一道2-SAT问题,每对钥匙需要加一条边,每扇门上的对应的要用的钥匙加一条边。其实求解2-SAT问题,关键在于找到不能同时成立的条件,例如在本题中,每对钥匙不能同时使用,每扇门上的钥匙不能同时不使用。 1 #include 2 #include 3 #include 4 using name...
分类:
其他好文 时间:
2014-10-05 00:04:07
阅读次数:
248
1 #include 2 #include 3 #include 4 using namespace std; 5 6 const int maxn = _____; 7 8 struct TwoSAT 9 {10 int n;11 vector G[maxn*2];12 ...
分类:
其他好文 时间:
2014-10-04 23:49:37
阅读次数:
260
2-sat问题是一种常见的问题。给定若干个01变量,变量之间满足一些二元约束,求是否有解存在。若存在,给出可行解或按照字典序给出最优解。
下面给出与其对应的图论模型:给每个变量i设立2个点,我的习惯是记为T(i),F(i),分别表示其值取1,0.
下面考虑的便是如何进行限制了。
一般的限制形式均如下所示:
变量i取x时,变量j只能取y,那么表示i取x的点向表示j取y的点连一条有向边...
分类:
其他好文 时间:
2014-10-03 11:21:04
阅读次数:
249
题目大意:有n种材料,m个评委。每种材料有两种不同的做法,每个评委有两个判定标准,做出来的菜品必须满足每一个评委至少一个要求。问有没有这样的方案。
思路:2-SAT经典建图问题。因为每一种材料只能有两种做法,这种约束条件通常就想到2-SAT。每一个评委必须至少满足一种,这就是建图的条件。
所以连边A‘ -> B
B’ -> A
这样表示的是如果A不能满足某个评委,那么就...
分类:
Web程序 时间:
2014-10-02 11:51:52
阅读次数:
796