![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
图论-2sat
iHge2k
专注数据结构和算法
展开
-
loj 1251(2-sat + 输出一组可行解)
题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=26961思路:u表示留下,~u表示离开,同理v,对于+u,-v,我们可以这样来定义:若u离开,则v必须留下,如v离开,则u必须留下,于是我们可以连边u+n->v,v+n->u,后面的同理。 1 #include 2 #include 3原创 2014-05-26 18:07:31 · 351 阅读 · 0 评论 -
hdu 3622(二分+2-sat判断可行性)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3622思路:二分是容易想到的,由于题目中有明显的矛盾关系,因此可以用2-sat来验证其可行性。关键是如何建图:对于每两对炸弹的(u,u')和(v,v'),如果u,vi的距离小于2*mid,则连边u->v',v->u‘。然后强连通判断可行性。http://paste.ubuntu.com/5972原创 2014-05-26 18:03:48 · 438 阅读 · 0 评论 -
hdu 4421(枚举+2-sat)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4421思路:枚举32位bit,然后2-sat判断可行性,这里给出2-sat矛盾关系构图:1、a&b=0 : a->~b,b->~a;2、a&b=1 : ~a->a,~b->b;3、a|b=0 : a->~a,b->~b;4、a|b=1 : ~a->b,~b->原创 2014-05-26 18:03:56 · 327 阅读 · 0 评论 -
poj 3683(2-sat+输出一组可行解)
题目链接:http://poj.org/problem?id=3683思路:对于每个结婚仪式,只有在开始或结束时进行这两种选择,我们可以定义xi为真当且仅当在开始时进行。于是我们可以通过时间先后确定矛盾关系,然后通过矛盾关系建图。至于输出一组可行解,就可以2次dfs(一次沿正向边,一次沿反向边)求出拓扑序,然后根据拓扑序输出可行解。http://paste.ubuntu.com/59836原创 2014-05-26 18:03:58 · 412 阅读 · 0 评论 -
hdu 1816(二分+2-sat)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1816思路:首先将每把钥匙i拆成两个点i和i+2n,分别表示选与不选,对于被分成n对的钥匙,由于只能选择其中的一把,所以加边(i,j+2n),(j,i+2n)对于每道门所对应的两把钥匙,两边中选一把,当i不选时,则必须选择j.反之,同理。所以加边(i+2n,j),(j+2n,i).二分所能打开门的数原创 2014-05-26 18:03:54 · 410 阅读 · 0 评论 -
hdu 1815(二分+2-sat)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1815 题意:给出n个牛棚、两个特殊点S1,S2的坐标。S1、S2直连。牛棚只能连S1或S2,还有,某些牛棚只能连在同一个S,某些牛棚不能连在同一个S。求使最长的牛棚间距离最小 距离是曼哈顿距离,使最大值最小。思路:二分的经典应用,二分枚举最大值limit,然后重新构图,用2-SAT判定可行原创 2014-05-26 18:03:52 · 396 阅读 · 0 评论 -
hdu 3715(二分+2-sat)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3715思路:二分深度,2-sat判断可行性,根据矛盾关系建图:设a=0,a'=1,b=0,b'=1;如果c[i]==0,则a,b矛盾,连边a->b',b->a';如果c[i]==1,则a,b'矛盾,连边a->b,b’->a',a',b矛盾,连边a'->b',b->a;如果c[i]==2,则连边a'-原创 2014-05-26 18:03:50 · 339 阅读 · 0 评论 -
hdu 3062+1824(2-sat入门)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3062思路:根据矛盾关系连边(如果a与b矛盾,则连边a'->b,b'->a),然后强连通缩点,判断同一对夫妻是否在同一个连通分量中,如果是,则不能同时列席,否则可以。2-sat学习资料:http://wenku.baidu.com/view/b96a07d9ce2f0066f533226c.ht原创 2014-05-26 18:03:46 · 351 阅读 · 0 评论 -
loj 1407(2-sat + 枚举 + 输出一组可行解 )
题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=27115思路:有一个trick要注意:当情况为 2 x y 时,可以推出当y留下时,x也必须留下。然后就是后面的k个限制关系,我们可以3^(k)次方枚举,一旦找到符合条件的就return 。然后就是反向建图,拓扑排序找可行解。 1 #include原创 2014-05-26 18:07:33 · 485 阅读 · 0 评论