
图论—2-SAT
文章平均质量分 72
Ezereal
这个作者很懒,什么都没留下…
展开
-
Codeforces Round #347 (Div. 2) D. Graph Coloring(强联通分量缩点+2-SAT)
题意: 给你n个点m条边,每条边有一种颜色(B或R),每选择一个点可以使与其相连的所有边的颜色翻转,问最少需要选择多少个点,使得所有边的颜色相同,输出操作数以及操作哪些点。 (1 ≤ n,m ≤ 100000) 思路: 我们可以分别对把所有边变成B和R分别考虑。 因为每个点不会操作2次或者更多,因为操作两次相当于不操作,操作三次相当于操作一次。原创 2016-09-16 18:08:56 · 335 阅读 · 0 评论 -
HDU 3622 Bomb Game【2-SAT + tarjan】
题目大意:有N对点,给定这N对点的坐标,现在要求找出一个最大的半径R,使得可以从每对点中选择一个点,并且这N个点以自己为圆心,半径为R的圆两两不相交。 2-SAT问题解法:对于每一对点,我们且称之为“兄弟点”;对于这2*N个点,如果两个点之间“矛盾”,对于本题即两个圆相交,则连一条边。对这个图求强连通分量,然后看是否有某对点属于同一个强连通分量。如果N对点每一对都属于不同的强连通分原创 2016-09-16 23:17:45 · 270 阅读 · 0 评论 -
2-SAT 解法浅析
2—sat建图总结 1.元素关系有以下11种 A[x] NOT A[x] A[x] AND A[y] A[x] AND NOT A[y] A[x] OR A[y] A[x] OR NOT A[y] NOT (A[x] AND A[y]) NOT (A[x] OR A[y]) A[x] XOR A[y] NOT (A[x] XOR A[y]) A[x] XOR转载 2016-09-16 21:25:17 · 1058 阅读 · 0 评论 -
HDU 1814 Peaceful Commission (2-SAT) O(nm)做法
题意:找出字典序最小的解 分析:直接暴力枚举DFS,首先将所有的点都置为为染色,然后我们从第一个点开始DFS染色,我们先尝试将i染 成红色(答案中的颜色),将~i染成蓝色,然后dfs i的所有后继并染色,如果对于后继j没有染色,那么将j然 后为红色,~j染成蓝色。如果后继j已经被染成蓝色,则说明不能选则i,如果j已经染成红色,则说明可以转载 2016-09-17 09:52:26 · 384 阅读 · 0 评论 -
POJ 3207 Ikki's Story IV - Panda's Trick(2-sat)
平面上,一个圆,圆的边上按顺时针放着n个点。现在要连m条边,比如a,b,那么a到b可以从圆的内部连接,也可以从圆的外部连接。给你的信息中,每个点最多只会连接的一条边。问能不能连接这m条边,使这些边都不相交。 解题报告: 题意可能刚开始不是很好理解,比如1 5连边,2,6连边,由于点是顺序排列的,一画图就可以发现,这两条边必须一个从圆外面连,一个从内部连,否则就会相交。如果再加入3原创 2016-09-17 18:10:55 · 272 阅读 · 0 评论 -
POJ 3648 Wedding(2-SAT)
【题意】:有一对新人结婚,邀请n对夫妇去参加婚礼。 有一张很长的桌子,人只能坐在桌子的两边,还要满 足下面的要求:1.每对夫妇不能坐在同一侧 2.n对夫妇 之中可能有通奸关系(包括男男,男女,女女),有通 奸关系的不能同时坐在新娘的对面,可以分开坐,可以 同时坐在新娘这一侧。如果存在一种可行的方案,输出 与新娘同侧的人。 输出任意一组解,点的编号从0~2n-1 取和新郎同一转载 2016-09-17 22:41:13 · 253 阅读 · 0 评论 -
POJ 3678 Katu Puzzle (2-SAT)
给出两两之间的AND,OR,XOR的值,判断有没有解 典型的2-SAT #include #include #include #include #include #include using namespace std; const int MAXN=2200;// bool visit[MAXN]; queueq1,q2; //vector建图方法很妙 vector转载 2016-09-17 22:42:24 · 261 阅读 · 0 评论