2-sat——暴力染色输出方案hdu1814】的更多相关文章

因为要求输出字典序最小的解,所以用暴力染色 具体有点像二分图染色 遍历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…
传送门 \(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)\)…
[题目大意] 和平委员会每个党派有2个人,只能派出其中1个,其中有一些人之间互相讨厌不能同时派出.求出派遣方案,如果有多种方案输出字典序最小的方案. [思路] 最小字典序只能用暴力染色.初始时均没有染色.枚举将党派第一个人染成红色,然后dfs把和它相连的全部染成红色,如果其中有的是蓝色那么矛盾:如果第一种情况矛盾那么dfs第二个人染成红色,如果也矛盾说明无解. #include<iostream> #include<cstdio> #include<cstring> #…
题目大意: 有n对的人,编号从1-2*n,m对的人之间互相不喜欢,每对人中必徐选1个人加入和平委员会,求字典序最小的解 -------------------------------- 2-SAT问题,由于要最小字典序,就不能scc的方法求了,只能暴力染色.O(n*m) -------------------------------- 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #inclu…
http://acm.hdu.edu.cn/showproblem.php?pid=4462 题意:有一个n*n的地图,有k个空地可以放稻草人,给出每个空地可以放的稻草人属性,属性中有个R代表这个位置可以守卫的范围,问最少需要放多少个稻草人才可以守卫这个地图. 思路:可以状态压缩一样枚举所有的状态(为毛昨天想不到),然后就根据这个状态选择哪个空地接着暴力染色地图这样.注意k个地方是空地,不用守卫的. #include <cstdio> #include <cstring> #inc…
LINK:图 在说这道题之前吐槽一下今天的日子 520 = 1+1+4+514. /cy 这道题今天做的非常失败 一点分都没拿到手 关键是今天的T3 把我整个人给搞崩了. 先考虑 如果得到了这么一张图 怎么得到染色的方案数. 发现很难计算 容斥?总方案-2个相同的+3个相同的 我都觉得不太靠谱且复杂度过高. 考虑直接用乘法原理计数 随便从一个点dfs 然后把相邻的点能选择的方案-1. 这样也是错误的 如一个四个点的环(可能不满足题目中的条件类似的 不过也是可以构造出来的. 第一个点贡献为n 第二…
HDU 1814 Peaceful Commission / HIT 1917 Peaceful Commission /CJOJ 1288 和平委员会(2-sat模板题) Description The Public Peace Commission should be legislated in Parliament of The Democratic Republic of Byteland according to The Very Important Law. Unfortunatel…
A. Passage 枚举两个点,看看删掉之后剩下的图是否是二分图. #include <bits/stdc++.h> using namespace std ; const int MAXN = 205 ; vector < int > G[MAXN] ; int vis[MAXN] , col[MAXN] ; int n ; int dfs ( int u ) { for ( int i = 0 ; i < G[u].size () ; ++ i ) { int v =…
Description Anatoly lives in the university dorm as many other students do. As you know, cockroaches are also living there together with students. Cockroaches might be of two colors: black and red. There are n cockroaches living in Anatoly's room. An…
 50111117海岛帝国:诞辰之日 [试题描述] YSF自从上次“被盗投降”完(带着一大堆债)回去以后,YSF对“海盗”怀念至今,他想要建立一个“药师傅”海岛帝国. 今天,他要像“管理部”那样去探寻一个新大陆!由于YSF得到了“郭同学”TONY.STARK的赞助.买了好多好多“旧手机”. 从而以某种不法行为GET航拍地图一张!YSF开着热气球,踏(jiu)上(zuo)了(qi)征(le)程(meng). YSF跳伞到了一个岛上,由于YSF素有幸运儿之称,所以幸运的他降落在了最大的小岛,但是,Y…