【2-SAT】URAL - 2089 - Experienced coach

题意:给出n对点a,b  要求从没对点中选出一个,且最终选出的点n个数不能存在相同的。输入数据满足每种数最多出现3次,最少出现1次

思路:第i对点的编号2*i, 2*i+1,   因为每个数最多出现3次,那么完全可以枚举每个数,然后相同的数之间的编号建立关系(?a Λ ?b 为真,表示这两个编号不能同时选),

然后同一对的俩编号之间也有关系(a xor b为真,代表a和b必须选且只能选一个,a xor b 可以写成 (a V b) Λ (?a V ?b)),这样跑完twosat就能得到一个满足情况的解或无解。

部分引用自 http://www.cnblogs.com/orchidzjl/p/5814116.html

时间: 2024-10-05 17:33:08

【2-SAT】URAL - 2089 - Experienced coach的相关文章

URAL 2089 Experienced coach Twosat

Description Misha trains several ACM teams at the university. He is an experienced coach, and he does not underestimate the meaning of friendly and collaborative atmosphere during training sessions. It used to be that way, but one of the teams happen

【数位DP】HDU 2089 不要62

http://acm.hdu.edu.cn/showproblem.php?pid=2089 [AC] 1 #include<bits/stdc++.h> 2 using namespace std; 3 typedef long long ll; 4 const int maxn=1e6+2; 5 int dp[10][10]; 6 int digit[10]; 7 int cnt; 8 int ans; 9 int n,m; 10 bool check() 11 { 12 for(int

【找规律】URAL - 2065 - Different Sums

就让0出现得尽可能多嘛--大概感受一下就是这样-- 0 0 ... 0 0 0 0 4 -4 3 -3 2 -2 1 -1 #include<cstdio> using namespace std; int n,m,a[510]; int main() { scanf("%d%d",&n,&m); int now=0; for(int i=n,j=1;i>=1;--i,++j) { if(m==1) a[i]=0; else { now=-now; i

【插头DP】URAL 1519 Formula 1

通道:http://acm.timus.ru/problem.aspx?space=1&num=1519 题意:单回路,经过全部可达点,有阻碍点. 代码: #include <cstdio> #include <cstring> #include <algorithm> using namespace std; const int MAX_N = 13; const int MAX_M = 13; const int HASH = 10007; const in

【计算几何】URAL - 2101 - Knight&#39;s Shield

Little Peter Ivanov likes to play knights. Or musketeers. Or samurai. It depends on his mood. For parents, it is still always looks like "he again found a stick and peels the trees." They cannot understand that it is a sword. Or epee. Or katana.

hdoj 2089 不要62 【打表】

题意:.. 水题 代码: #include <stdio.h> #include <string.h> #include <algorithm> using namespace std; int s[10]; int ans[1000005] = {0, 1}; int is(int n){ //n = 62; int pre = 0, cur = 0, i; while(n){ pre = cur; cur = n%10; n /= 10; if(cur == 4||

【DP专辑】ACM动态规划总结

转载请注明出处,谢谢.   http://blog.csdn.net/cc_again?viewmode=list          ----------  Accagain  2014年5月15日 动态规划一直是ACM竞赛中的重点,同时又是难点,因为该算法时间效率高,代码量少,多元性强,主要考察思维能力.建模抽象能力.灵活度. 本人动态规划博客地址:http://blog.csdn.net/cc_again/article/category/1261899 ******************

【Tim Sweeney】Why C++ for Unreal 4?

The first three generations of the Unreal Engine included a sandboxed scripting language, UnrealScript, which provided a simple interface for gameplay programming that was shielded from the complexity of the C++ engine.The scripting approach is very

【js实例】Array类型的9个数组方法,Date类型的41个日期方法,Function类型

前文提要:[js实例]js中的5种基本数据类型和9种操作符 Array类型的9个数组方法 Array中有9个数组方法: 1.检测数组 2.转换方法 3.栈方法 4.队列方法 5.冲排序方法6.操作方法 7.位置方法 8.迭代方法 9.归并方法 在实例中介绍,实例如下 /* Array类型 js数组中的每一项可以用来保存任何类型的数据:js数组的大小是可以动态调整的 */ var colors = ["red", "blue", "green"];