HDU3062&&HDU1814】的更多相关文章

Preface 两道2-SAT模板题. HDU3062 看题目就一眼2-SAT.一对夫妻看成一个变量,之间的矛盾可以看成限制. 考虑不同席的限制,相当于选了\(i\)就不选\(j\),即必选\(j'\).所以我们\(i\to j',j\to i'\)连边即可. Tarjan判一发可行性即可.注意一下编号从\(0\)开始. CODE #include<cstdio> #include<cctype> #include<cstring> using namespace st…
Preface 说实话2-SAT的题目我都没怎么做过,所以这里讲的都是些超入门什么的 还有一些板子题,由于是暑假的时候学的所以有些我也记不清了 主要学习参考自:Mancher的课件&&dalao's blog&&Another dalao What is 2_SAT? SAT是适定性(Satisfiability)问题的简称 .一般形式为k-适定性问题,简称 k-SAT. 可以证明,当\(k>2\)时,k-SAT是NP完全的.因此一般讨论的是\(k=2\)的情况,即2…
hdu1814 Peaceful Commission 题意:2-sat裸题,打印字典序最小的 我写了三个 染色做法,正解 scc做法,不管字典序 scc做法,错误的字典序贪心 #include <iostream> #include <cstdio> #include <cstring> #include <algorithm> #include <queue> using namespace std; const int N = 2e4+5,…
原文链接http://www.cnblogs.com/zhouzhendong/p/8099115.html 题目传送门 - HDU1814 题面 Description 根据宪法,Byteland民主共和国的公众和平委员会应该在国会中通过立法程序来创立.不幸的是,由于某些党派代表之间的不和睦而使得这件事存在障碍. 此委员会必须满足下列条件: 每个党派都在委员会中恰有1个代表,  如果2个代表彼此厌恶,则他们不能都属于委员会.  每个党在议会中有2个代表.代表从1编号到2n. 编号为2i-1和2…
2-SAT(HDU-3062 party) 解决问题类型: 书本定义:给一个布尔方程,判断是否存在一组解使整个方程为真,被称为布尔方程可满足性问题(SAT) 因为本题只有0,1(丈夫 妻子只能去一个人),所以是2-SAT. 算法思想: 根据题意:对于(a ,a' )(b ,b' ),如果a ,b 构成仇恨问题,那么a 若出席,b' 一定出席,b若出席,a ' 一定出席:据此他们之间可以建有向边(有向边的意义一定要明白! ! !代码中建边时已经标注).而强连通分量的特点就是可以缩点,判断两点之间是…
Peaceful Commission Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 2030    Accepted Submission(s): 589 Problem Description The Public Peace Commission should be legislated in Parliament of Th…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1814 简单的2sat题. //STATUS:C++_AC_390MS_996KB #include <functional> #include <algorithm> #include <iostream> //#include <ext/rope> #include <fstream> #include <sstream> #inclu…
题目大意:一国有n个党派.每一个党派在议会中都有2个代表,现要组建和平委员会,要从每一个党派在议会的代表中选出1人,一共n人组成和平委员会.已知有一些代表之间存在仇恨,也就是说他们不能同一时候被选为和平委员会的成员,现要你推断满足要求的和平委员会是否能创立?假设能,请随意给出一种方案. 2-sat问题 #include <cstdio> #include <cstring> #include <vector> #include <iostream> #inc…
传送门:Party 题意:有n对夫妻被邀请参加一个聚会,因为场地的问题,每对夫妻中只有1人可以列席.在2n 个人中,某些人之间有着很大的矛盾(当然夫妻之间是没有矛盾的),有矛盾的2个人是不会同时出现在聚会上的.有没有可能会有n 个人同时列席? 分析:two-sat裸题,对于有仇恨的两对夫妻u,v,连边u->v'和v->u':建好图直接tarjan缩点判断每对夫妻[i,i']是否属于一个强连通块内即可. #include <cstdio> #include <cstring&g…
题面 Description 根据宪法,Byteland民主共和国的公众和平委员会应该在国会中通过立法程序来创立. 不幸的是,由于某些党派代表之间的不和睦而使得这件事存在障碍. 此委员会必须满足下列条件: 每个党派都在委员会中恰有1个代表, 如果2个代表彼此厌恶,则他们不能都属于委员会. 每个党在议会中有2个代表.代表从1编号到2n. 编号为2i-1和2i的代表属于第I个党派. 任务是写一程序: 输入党派的数量和关系不友好的代表对, 计算决定建立和平委员会是否可能,若行,则列出委员会的成员表.…