
2-SAT
小狐狸jun
菜鸟飞呀飞~
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
poj 2723 二分+2-sat判定
题意:给出n对钥匙,每对钥匙只能选其中一个,在给出每层门需要的两个钥匙,只要一个钥匙就能开门,问最多能到哪层。 思路:了解了2-SAT判定的问题之后主要就是建图的问题了,这里建图就是对于2*n个钥匙,分别分成a和a'两组,即选了比如a,b一组钥匙,选择了a则必须选择b',那么进行连边,而对于每层门,若该门能开,且选择了a',则b肯定需要选,那么a'和b连边。最后就是判定了,同样的 若a与a原创 2013-08-25 20:24:12 · 534 阅读 · 0 评论 -
hdu 3062 2-Sat入门
开始学习2-Sat,前面看了对称性解决2-sat的ppt,很有帮助。 题意:n对夫妻,夫妻需要出席一人,给出不相容的关系,求每对是否能完成出席方案。 思路:通过关系建图,Tarjan缩点,然后进行判断:条件:若有一对夫妻在同一个连通分量中,即不可组成方案。 代码: #include #include #include using namespace std;原创 2013-08-25 10:57:46 · 458 阅读 · 0 评论 -
poj 3683 2-sat建图+拓扑排序输出结果
发现建图的方法各有不同,前面一题连边和这一题连边建图的点就不同,感觉这题的建图方案更好。 题意:给出每个婚礼的2个主持时间,每个婚礼的可能能会冲突,输出方案。 思路:n个婚礼,2*n个点,每组点是对称的,用O(n2)的方法判断每个点之间的关系来建图,然后通过拓扑排序输出即可。 代码: #include #include #include using namespac原创 2013-08-28 10:35:37 · 742 阅读 · 0 评论 -
poj 3648 2-SAT建图+topsort输出结果
其实2-SAT类型题目的类型比较明确,基本模型差不多是对于n组对称的点,通过给出的限制条件建图连边,然后通过缩点和判断冲突来解决问题。要注意的是在topsort输出结果的时候,缩点后建图需要反向连边,然后输出就可以了。2-sat题型差不多。 题意:新娘新郎分别坐在长桌两边,n-1队夫妇来参加婚礼,要求:夫妇不能坐在同一边,通奸关系不能坐在同一边。输出新娘对面的序列。 思路:对称关系原创 2013-08-28 19:45:31 · 662 阅读 · 0 评论