[题目大意] 和平委员会每个党派有2个人,只能派出其中1个,其中有一些人之间互相讨厌不能同时派出.求出派遣方案,如果有多种方案输出字典序最小的方案. [思路] 最小字典序只能用暴力染色.初始时均没有染色.枚举将党派第一个人染成红色,然后dfs把和它相连的全部染成红色,如果其中有的是蓝色那么矛盾:如果第一种情况矛盾那么dfs第二个人染成红色,如果也矛盾说明无解. #include<iostream> #include<cstdio> #include<cstring> #…
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://acm.hdu.edu.cn/showproblem.php?pid=1814 题意:给出一个数n,代表有n个党派,每个党派要求派出其中一个人去参加会议,且只能派出一人.给出m,m行每行给出a, b.代表处于不同党派中的a, b也具有矛盾关系,a, b其中也只能有一位去参加会议.这2 * n个人的编号为1 ~ 2 * n,其中 2 * i 与 2 * i - 1是属于同一个党派.要求找到一个编号字典序最小的方案. 思路: 1.每个集合中只有2个元素,并且给出部分元素之间的…
原文链接http://www.cnblogs.com/zhouzhendong/p/8099115.html 题目传送门 - HDU1814 题面 Description 根据宪法,Byteland民主共和国的公众和平委员会应该在国会中通过立法程序来创立.不幸的是,由于某些党派代表之间的不和睦而使得这件事存在障碍. 此委员会必须满足下列条件: 每个党派都在委员会中恰有1个代表,  如果2个代表彼此厌恶,则他们不能都属于委员会.  每个党在议会中有2个代表.代表从1编号到2n. 编号为2i-1和2…
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1814 第一次的2-SAT,推荐博客:https://blog.csdn.net/jarjingx/article/details/8521690 但这题就是暴力: 还调了好久... 代码如下: #include<iostream> #include<cstdio> #include<cstring> using namespace std; ,maxm=; int n,m,co…
题目链接: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…
传送门 \(2-sat\)的模板题,首先得出题目中的二元关系为:对于有矛盾的\(x_i,x_j\),至多选择一个,那么连边\(x_i\rightarrow x_j',x_j\rightarrow x_i'\). 在这里这个关系是明确的关系,我们连边时只用连明确的关系即可.假设不选\(x_i\),我们也不知道\(x_j\)选不选,可选可不选,所以不用从\(x_i'\)出发连边. 然后题目因为要求字典序最小,据说\(trajan\)缩点那样搞可能出问题,因为数据范围比较小,所以直接\(O(nm)\)…
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…
因为要求输出字典序最小的解,所以用暴力染色 具体有点像二分图染色 遍历0-2*n-1个点,尝试将每个点染成1,该点所能到达的所有点都要染成1 如果不行,则把上该点的影响消除,再把对立点染成1,如果还不行就无解 #include<bits/stdc++.h> #include<vector> using namespace std; #define maxn 200005 vector<int>G[maxn]; int n,m,stk[maxn],top,mark[max…