ACM_2 sat
文章平均质量分 83
TK13
你在凝视深渊的时候 深渊也在凝视着你
展开
-
hdu1824 基础2sat
题意:原创 2014-06-13 11:01:25 · 718 阅读 · 0 评论 -
hdu4421 2-sat(枚举二进制每一位)
题意: 给你一个数组b[][],在给你一些关系,问是否可以找到一个满足限制的a[],关系如下(图片):思路: 说到限制,而且还是两个两个之间的限制,那么很容易想到2-sat但是这个题目扎一看还不像,b[i][j]不是只 0 1 2,怎么办呢,其实我们可以一位一位枚举,最多也就32,对于每一位我们都判断下,只有所有的位数都满原创 2014-06-20 16:25:02 · 666 阅读 · 0 评论 -
poj3648 2-sat <输出任意一组解>
题意: 一对夫妻结婚,请来了n对夫妻,所有人坐在同一张桌子上吃饭,这张桌子是长方形的可以坐两排人,有如下限制(1) 新娘和新郎不做同一侧。(2) 每对来的夫妻也不能坐在同一侧。 (3) 有一些人有暧昧关系(男女,男男,或者女女),有暧昧关系的两个人不可以同时坐在新娘对面。输出一组可行解,输出的是坐在新娘对面的人。思路: 根据限制原创 2014-06-19 14:17:03 · 662 阅读 · 0 评论 -
hdu 1814 字典序最小的2sat(暴力深搜)
题意: 题意就是最基础的2sat,关系只有矛盾关系,然后二选一,关键是这个题目是输出字典序最小的那组解。思路: 输出字典序最小,用强连通那个实现不了(起码没看到有人实现),其实我们可以直接暴力,我们可以给某个点染色,分成无色(W)红色(R)和蓝色(B)红色是我们要的答案,对于每一个点我们先尽可能的吧他的a染成红色,把他的~a染成蓝色,如果发现矛盾,就是出现a是蓝色的原创 2014-06-17 14:43:55 · 721 阅读 · 0 评论 -
hdu1815 2sat + 二分 + 建图<不错的题目>
题意: 给你两个总部,s1 ,s2,和n个点,任意两点之间都是通过这个总部相连的,其中有一些点不能连在同一个总部上,有一些点可以连接在同一个总部上,总部和总部之间可以直接连接,就是假如a,b相连,可以使这样四中情况中的一种a-s1 s1 - ba-s2 s2 - ba-s1 s1 - s2 s2 - ba-s2 s2 - s1 s1 - b最后问你任意原创 2014-06-15 18:26:09 · 619 阅读 · 0 评论 -
2sat建边总结
2sat的基础建边AND = 1 : ~x -> x ,~y -> y (两个数必须全为1)AND = 0 : y -> ~x ,x -> ~y (两个数至少有一个为0)OR = 1 : ~x -> y ,~y -> x (两个数至少有一个为1)OR = 0 : x -> ~x ,y -> ~y (两个数全为0) XOR = 1 : x -> ~y ,原创 2014-06-15 18:50:20 · 831 阅读 · 0 评论 -
hdu4115 2sat <石头剪刀布>
题意: 两个人玩剪刀石头布,他们玩了n把,给了你A这n把都出了什么,问你B能否会赢,其中A会限制B某些局数出的要相同,某些局数出的要不同,只要B满足他的限制,并且没没有输掉任何一把就算赢(没有输掉就是平或者赢)。思路: 首先考虑下,对于每一步,我们知道A出了什么,那么也就知道B在这不可以出什么,比如A在这一步出了1 那么B可以出1,2。对于每一步B都有两种选择,原创 2014-06-17 09:48:16 · 634 阅读 · 0 评论 -
hdu3715 二分+2sat+建图
题意: 给你一个递归公式,每多一层就多一个限制,问你最多能递归多少层。思路: 先分析每一层的限制 x[a[i]] + x[b[i]] != c[i],这里面x[] = 0,1,c[i] = 0,1,2如果我们把 x[]=0,1想成取或不取,就是基础的关系,那么这个题目就可以直接抽象成2sat问题,然后我们二分去枚举深度,每次根据2sat的结果判断二分走原创 2014-06-15 10:44:39 · 798 阅读 · 0 评论 -
hdu1816 + POJ 2723开锁(二分+2sat)
题意: 有m层门,我们在最外层,我们要一层一层的进,每一层上有两把锁,我们只要开启其中的一把们就会开,我们有n组钥匙,每组两把,我们只能用其中的一把,用完后第二把瞬间就会消失,问你最多能开到多少层们。思路: 果断二分+2sat,现在我们来看下怎么建边,首先我们把每把钥匙用看成a,不用看成~a ,对于没一组钥匙,我们不能同时选择两个,原创 2014-06-15 21:06:58 · 663 阅读 · 0 评论 -
hdu3622 二分+2sat
题意: 给你N组炸弹,每组2个,让你在这N组里面选取N个放置,要求(1)每组只能也必须选取一个(2)炸弹与炸弹之间的半径相等(3)不能相互炸到对方。求最大的可放置半径。思路: 二分去枚举半径,然后用2sat去判断是否可行,在2sat里,每组炸弹的两个是正常对,任何两组的任何两个距离小于等于mid那么这两个是矛盾对。这样强连通缩短,然后判断有没有一组是在同一个强连原创 2014-06-13 16:11:33 · 776 阅读 · 0 评论 -
hdu 3062 基础的2sat
题意:PartyTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 4035 Accepted Submission(s): 1300Problem Description有n对夫妻被邀请参加一个聚会,因为场地的问题,原创 2014-06-13 10:57:19 · 591 阅读 · 0 评论 -
POJ2296二分2sat
题意: 给n个点,每个点必须在一个正方形上,可以在正方向上面边的中点或者是下面边的中点,正方形是和x,y轴平行的,而且所有的点的正方形的边长一样,并且正方形不能相互重叠(边相邻可以),问满足这个要求的正方形的最大边长是多少?思路: 点的个数最少是3,所以不存在无穷大的情况,每个点的正方形有两种选择,所以是两种中选一种,每两个点中可能存在某种选择和某种选择原创 2015-06-04 16:32:50 · 543 阅读 · 0 评论