poj2749】的更多相关文章

Building roads Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 8153   Accepted: 2772 Description Farmer John's farm has N barns, and there are some cows that live in each barn. The cows like to drop around, so John wants to build some ro…
万变不离其宗 只要搞清楚题目的基本模型 搞清楚边是一种推导出的关系 搞清楚里面的逻辑关系 那就没什么难的了…… 二分+sat,没什么好说的 ; type node=record point,next:longint; end; ..] of node; v,f:..] of boolean; x,y,be,w1,w2,hx,hy,fx,fy,p,st,dfn,low:..] of longint; sum,w,l,r,ans,a,b,i,n,m,len,h,t:longint; function…
题意 有 N 个牛栏,现在通过一条通道(s1,s2)要么连到s1,要么连到s2,把他们连起来,他们之间有一些约束关系,一些牛栏不能连在同一个点,一些牛栏必须连在同一个点,现在问有没有可能把他们都连好,而且满足所有的约束关系,如果可以,输出距离最大的两个牛栏之间距离最小值(两点距离是指哈密顿距离) Sol 二分答案+\(2-SAT\)判定 每次二分答案,把枚举两个点距离\(>mid\)的就连边限制 傻逼到没输出-1,WA无数遍 # include <iostream> # include…
嘟嘟嘟 最近把21天漏的给不上. 今天重温了一下2-SAT,感觉很简单.就是把所有条件都转化成如果--必然能导出--.然后就这样连边建图,这样一个强连通分量中的所有点必然都是真或者假.从而根据这个点拆点后的两个点是否在一个强连通分量里判断是否有解. 这题人很容易想到拆点:\(i\)表示\(i\)连向\(s_1\),\(i + n\)表示\(i\)连向\(s_2\). 这道题关键在于距离这个限制.我们肯定能想到二分,但是接下来我就没想出来,因为2-SAT的图的边权是没有意义的.但实际上这个也是可以…
http://poj.org/problem?id=2749 (这个约翰的奶牛真多事…………………………) i表示u与s1连,i+n表示u与s2连. 老规矩,u到v表示取u必须取v. 那么对于互相打架的奶牛u,v,有: add(u,v+n);add(v,u+n); add(u+n,v);add(v+n,u); 对于互为朋友的奶牛u,v,有: add(u,v);add(v,u); add(u+n,v+n);add(v+n,u+n); 但这远远不够,我们需要求最大值最小…… 二分?但是我们怎么边处理…
题目 Farmer John's farm has N barns, and there are some cows that live in each barn. The cows like to drop around, so John wants to build some roads to connect these barns. If he builds roads for every pair of different barns, then he must build N * (N…
传送门 这道题真是2-SAT好题啊!!卡了我两个点才做完……垃圾POJ还不告诉我哪错了…… 首先我们先花一段时间把题看懂……(其实是翻译一下),之后我们发现因为每个谷仓只能向一个中转点连边,所以他就是一个布尔变量的两个取值.然后对于每个限制条件,其实就是^嘛!我们把他转换为合取范式之后建一下图.不过怎么计算最大距离最小值呢?看到这一幕想起二分答案……然后,然后就不会了…… 我们再想一下,其实2-SAT里面,每个给定的限制特别要命,因为如果要没有限制随便瞎取都能合法,然后我们要限制一个最大距离………
题目大意:有若干牛圈和两个连接起来的的中转点S1,S2.每个牛圈需要选择其中一个中转点与之连接,从而使任意两个牛圈能够连通.有若干对牛圈里的牛互相hate或是互相like.若两个牛圈里的牛互相hate,就不能连接到同一个中转点上,而如果互相like,就必须连接到同一个中转点上.连接方案还要使两个牛圈之间的距离的最大值尽可能小,并求出这个值. 思路:2-SAT+二分,对每个牛圈x,令x为与S1连接,¬x为与S2连接.接下来,对于每对互相hate的奶牛所在的牛圈a,b不能连接到同一个中转点上,所以连…
2-SAT 问题是k-SAT问题在k==2时的特殊情况,因为已经证明k>=3时的k-sat问题属于npc问题.所以在这里仅研究2-SAT的特殊情况.   何为2-sat问题? 简单地说就是有N个集合,每个集合中有两个元素,其中一些集合中的元素存在相对关系.求出从每个集合中取出1个元素的方案.   先看一道例题: COGS313 2-sat的最简单情况,选出一些元素时,一些元素不可选.做这些题时,一般会考虑建图或者用并查集之类的数据结构维护.但显然复杂度是无法接受的,考虑新的算法.   首先,如果…
(Step2-500题)POJ训练计划+SGU 经过Step1-500题训练,接下来可以开始Step2-500题,包括POJ训练计划的298题和SGU前两章200题.需要1-1年半时间继续提高解决问题和编码实现能力,加油ACMer!任重道远  Step1-500题 UVaOJ+算法竞赛入门经典+挑战编程+USACO 请见:http://acm.sdut.edu.cn/bbs/read.php?tid=5321 一.POJ训练计划 Moon修订  298道题   集训第一天 POJ纯水题 = =:…