2-SAT
_beginend
这个作者很懒,什么都没留下…
展开
-
LibreOJ #6036.「雅礼集训 2017 Day4」编码 可持久化字典树+2-SAT
题意有n个01串,某些字符串中的某一位可以任意填,问是否存在一种填法使得不存在某个串是另一个串的前缀。 n≤500000n≤500000n\le500000分析用可持久化字典树来优化2-SAT建图即可。 注意要把字符串按长度从大到小插入。代码#include<iostream>#include<cstdio>#include<c...原创 2018-06-19 21:55:28 · 576 阅读 · 0 评论 -
uoj #210. 【UER #6】寻找罪犯 2-SAT
题意有n个人和m条证词,第i条证词是第xixix_i个人说第yiyiy_i个人是或不是罪犯。若一个人不是罪犯则他说的全是真话;若一个人是罪犯则他最多说了一句谎话。要求输出一组可行解。 n,m<=100000分析考虑把每个人和每条证词均拆成两个点,表示是犯人还是好人或者是真话还是谎话。然后就可以大力2-SAT建图了。 对于某个人说的全部证词,由于最多只能有一个谎话,所以每个...原创 2018-03-07 15:21:21 · 320 阅读 · 0 评论 -
51nod 1318 最大公约数与最小公倍数方程组 2-SAT+数学
题意求解一个有趣的方程组,方程组有N个未知正整数,x[0],x[1],x[2],…,x[N-1]。 方程组由M个方程组成,方程只有两种类型: 1)GCD(x[i],x[j]) = G ;其中,i != j,且GCD(a,b)为正整数a与b的最大公约数的值 2)LCM(x[i],x[j]) = L ;其中,i != j,且LCM(c,d)为正整数c与d的最小公倍数的值 你需要判断这样一个方程原创 2017-12-23 13:13:41 · 645 阅读 · 0 评论 -
AtCoder Regular Contest 069 F - Flags 2-SAT+线段树优化建图
题意Snuke 喜欢旗子. Snuke 正在将N 个旗子摆在一条线上. 第i 个旗子可以被放在位置xi 或yi 上. Snuke 认为两个旗子间的最小距离越大越好. 请你求出最大值. 1 <= N <= 10^4; 1 <= xi, yi <= 10^9.分析先二分答案,将其转化为判定性问题。那么这显然就是一个2-SAT的模型。 将每个点按照坐标排序后,显然每个点能连到的必然是连续的一段,原创 2017-11-03 14:50:46 · 680 阅读 · 0 评论 -
bzoj 1997: [Hnoi2010]Planar 2-SAT+平面图
题意 分析首先这题有一个很棒棒的结论,就是如果m>n*3-6的话那么这个图一定不是平面图。证明的话。。。据说离散书上面有。 那么我们就可以将边数变为600的大小。 注意到因为这是一个环,所以一条边要么在环内,要么在环外。所以对于两条相交的边,肯定是一条在环内,一条在环外。那么只要暴力2-SAT建图+判定就好了。代码#include<iostream>#include<cstdio>#inc原创 2017-09-20 21:37:07 · 318 阅读 · 0 评论 -
bzoj 4078: [Wf2014]Metal Processing Plant 2-SAT
题意定义集合S的价值D(S)为: 现在给你n个元素,并给出其中任意两个元素之间的d(i,j)值 要你将这些元素划分成两个集合A、B。 求min{D(A)+D(B)}。 注:d(i,j)=d(j,i)。 n≤300n≤300n\le300分析考虑枚举D较大的集合的权值,然后二分另一个集合的权值,判定可以用2-SAT,复杂度是O(n4logn)O(n4logn)O(n^4...原创 2018-07-07 11:37:38 · 409 阅读 · 0 评论