
2-SAT
文章平均质量分 89
Clove_unique
All that you have lost can be won back bit by bit as long as you wish for it.
展开
-
[BZOJ1823][JSOI2010]满汉全席(2-SAT)
题目描述传送门题解2-SAT问题 首先mx和hx最多选一个 然后对于一个评委,栗如mi,hj的话,那么选了hi就必选hj,以此类推代码#include<algorithm>#include<iostream>#include<cstring>#include<cstdio>#include<cmath>using namespace std;#define N 2005int T,n原创 2017-02-21 14:03:21 · 1171 阅读 · 0 评论 -
[HDU1814]Peaceful Commission(2-SAT)
题目描述传送门题解经典的2-SAT问题,要求输出字典序最小的解 首先贪心地选最小的,每一次选择将其影响的点都修改,然后判断是否合法代码#include<algorithm>#include<iostream>#include<cstring>#include<cstdio>#include<cmath>using namespace std;#define N 40005int n,m原创 2017-01-25 15:43:51 · 589 阅读 · 0 评论 -
[BZOJ2199][Usaco2011 Jan]奶牛议会(2-SAT)
题目描述传送门题解2-SAT,和满汉全席差不多 如果一个奶牛的投票是id x jd y的话,那么就连边id x^1->jd y(^表示同一类的不同项) 连出这个图之后,判断每一个点能不能选。也就是说,判断这个点所有能到达的点是否存在冲突(同一类的Y和N都选了),dfs就可以 如果某一类的Y和N都不能选,那么IMPOSSIBLE 否则的话,如果某一个点不能选,那么它同类不同项的那个点必须选;否原创 2017-02-24 08:41:19 · 704 阅读 · 0 评论 -
[BZOJ1997][Hnoi2010]Planar(2-SAT)
题解传送门题解刚开始看这道题和POJ3207很像,但是发现边是1w的,没法O(n2)O(n^2)做首先这题不能贪心,反例随便举 然后我又觉得展环成链之后,对于每一个点,只保留其向左和向右最远的边,这样来搞 貌似还是有反例的,但是这题数据辣鸡被我乱搞过了 其实正解是… 如果边数>点数*3-6的话,一定不是一个平面图 于是随便做了… 一口老血喷出来…代码#include<algorithm>原创 2017-02-24 14:43:40 · 735 阅读 · 0 评论 -
[POJ3678]Katu Puzzle(2-SAT)
题目描述传送门题解很显然的2-SAT问题 需要注意的一点是,如果一个必选1或必选0,那么就从不必选的向必选的连边代码#include<algorithm>#include<iostream>#include<cstring>#include<cstdio>#include<cmath>using namespace std;#define N 4000005char opt[10];原创 2017-01-25 15:39:29 · 382 阅读 · 0 评论 -
[POJ3207]Ikki's Story IV - Panda's Trick(2-SAT)
题目描述传送门题意:给出圆上的n个点,某些点之间有连线,连线可以从圆内也可以从圆外连,问是否存在一种方案使所有的连线不相交(相交在圆上的除外)。题解很显然的2-SAT问题 对于每一对点有两个选择:从圆内连和从圆外连 限制:连线不能相交代码#include<algorithm>#include<iostream>#include<cstring>#include<cstdio>#inclu原创 2017-01-25 15:37:35 · 868 阅读 · 0 评论 -
[HDU3622]Bomb Game(2-SAT)
题目描述传送门题解最小值最大,二分答案(实数) 判定? 二分出答案mid之后相当于是有一些点不能同时选(距离<<mid) 同时每一组两个点必须选一个 就是一个经典的2-SAT问题 我们只需要判断是否有解即可 假设A1,B2A_1,B_2不能同时选,那么如果选A1A_1的话,B1B_1是必选的 同样地,如果选B2B_2,那么A2A_2必选 那么连边A1A_1->B1B_1,B2B_2-原创 2017-01-21 15:44:57 · 805 阅读 · 0 评论 -
CF#403(Div.2) 解题报告
A题意简述有2n双袜子,编号为1..n。 按顺序从包中拿出,如果这只袜子的另一只还没有拿出,就放在桌子上,否则将桌子上的另一只拿走。 求桌子上最多有多少只袜子。数据范围1≤n≤1051\le n\le 10^5题解模拟。。代码#include<algorithm>#include<iostream>#include<cstring>#include<cstdlib>#include<cs原创 2017-03-06 11:19:08 · 1543 阅读 · 4 评论