2-sat
文章平均质量分 78
九野的博客
这个作者很懒,什么都没留下…
展开
-
HDU 3622 2-sat 求引爆所有炮弹的最大半径
打个手熟 #include #include #include #include #include #define N 105*2 #define M 40000+5 #define ll double #define eps 1e-5 using namespace std; inline ll Max(ll a,ll b){return a>b?a:b;}原创 2013-11-04 23:05:04 · 1605 阅读 · 0 评论 -
HDU 4421 2-sat
模版题 题意: 求是否存在这样的数组a 使得b数组对应等式成立 问: 给定b数组,求是否有这样的a数组 思路: 对于每一个二进制位: 是否存在一个二进制位使得该式成立 然后2-sat 31次即可 #include #include #include #include #include #define ll int using namespace st原创 2013-11-05 20:56:15 · 1701 阅读 · 2 评论 -
HDU 1814 2-sat 求字典序最小解
模版题,按给定边直接建图 若有解输出最小字典序解 注意此模版求的就是最小字典序解 #include #include #include #include #include #define ll double #define eps 1e-5 using namespace std; inline ll Max(ll a,ll b){return a>b?a:原创 2013-11-05 17:17:56 · 2138 阅读 · 0 评论 -
HDU 4115 2-sat 石头剪刀布 拆点+约束
题意: 2个人玩石头剪刀布 A和B n轮 m个约束条件(对A的约束) 下面n个数字表示B的出发 (1为石头 2为布 3为剪刀) 下面m行表示约束条件 u v papa papa = 1 表示 u v轮 A必须出一样 =0 表示u v轮必须出不一样 问A能否全胜 把一轮拆成: 出0 2 4的方法和 不出 1 3 5的方法 #include #include #原创 2013-11-05 23:10:56 · 2068 阅读 · 1 评论 -
POJ 3678 2-sat裸题
题意: 给定n个未知数(每个未知数从0-n-1标号,每个数的解为true 或 false)m个等式。 下面m行 u v d & 表示 u & v = d 问: n个未知数是否有解 2-sat裸题,直接建边即可。 #include #include #include #include #include #include using namespace std; #原创 2014-01-24 18:57:54 · 1617 阅读 · 0 评论 -
ZOJ 3717 2-sat 进位精度
题意: 在三维空间中 给定n组,每组2个三维坐标 表示n组气球的中心坐标 问: 在每组中选取一个坐标,使得选出的n个坐标 有最大的半径(气球不能相交) 问最大的半径是多少 思路: 二分半径,2-sat判可行解 因为这不能四舍五入,所以最后要去掉误差后面的小数,然后暴力求解 #include #include #include #include #include原创 2014-02-15 22:36:41 · 1586 阅读 · 0 评论 -
2-sat模版
#define N 105*2 #define M 40000+5 //注意n是拆点后的大小 即 n <<= 1 N为点数(注意要翻倍) M为边数 struct Edge{ int to, nex; }edge[M]; int head[N], edgenum; void addedge(int u, int v){ Edge E = {v, head[u]}; edg原创 2013-11-05 14:59:14 · 2447 阅读 · 0 评论