差分约束
Dan__ge
Today is difficult,tomorrow is more difficult,but the day after is beautiful.
展开
-
POJ 2983 查分约束+SPFA
点击打开链接 题意:n个点,m个条件,P,a,b,c代表a到c的距离为c,V,a,b代表a到b的距离大于等于1,问所有条件是否可以成立 思路:看了查分约束来做这道题,还可以不是很难。若固定了位置则可以写出两个表达式a-b>=c&&b-a=c,将条件全部转化为#include #include #include #include #include #include #include原创 2016-04-20 20:57:02 · 1271 阅读 · 0 评论 -
HDU 3440 查分约束
点击打开链接 题意:给个n个不同的高度,一个人从最低点跳跃,每次可以跳到第一个比它高的位置,最后跳到最高点,然后每次最多可以跳的距离为D,而且在跳跃时可以在不改变给定顺序的情况下移动这些高度,使得最后起始点和终点的位置最远, 思路:自己想了一会,想的方向错了,我自己想的方法是将最小高度记为0,最大高度记为n-1,然后写查分约束方程,这了一会发现条件不足,没想法了,看了大牛们的解法发现原来以给定原创 2016-06-07 20:37:03 · 1667 阅读 · 0 评论 -
HDU 3592 查分约束+判环
点击打开链接 题意:有N个人,然后X个关系和Y个关系,X关系代表的是这两个人的距离不能超过C,Y代表的是这两个人的距离要大于等于C,若不能满足所有的输出-1,若1与N的位置可以无穷大输出-2,否则输出两个人的最大距离 思路:就是查分约束的模型,X个关系按照位置建边,Y也是直接按位置建边就行了,就是两个初始方向不同,然后有负环的话就输出-1,距离无穷大输出-2,否则就是dis[N]的值就行了,自原创 2016-06-30 18:16:12 · 1797 阅读 · 1 评论 -
HDU 1384 查分约束
点击打开链接 题意:给了n个区间,要求每个区间至少有C个数字出现,问满足的最小的数字个数 思路:用Si代表0到i的区间内的数字个数,然后可以写出查分约束方程,对于一个区间则Sa-S(b-1)>=C的,然后隐含的一个条件就是Si-S(i-1)>=0且=的形式#include #include #include #include #include #include using name原创 2016-07-12 20:53:13 · 1393 阅读 · 0 评论 -
HDU 1534 查分约束
点击打开链接 题意:要完成n个任务,每个任务有完成的时间,然后下面给了四种条件,问最快完成的情况下,每一个任务的开始时间 思路:四个条件就是给出的四个查分约束方程,然后因为是要时间最短,所以求得是最长路,但是因为没有起点和终点,那么我们可以添加一个起点,使它与任务点相连一个0的边,最后求出的距离就是开始的时间,然后有环则是impossible#include #include #inclu原创 2016-07-13 12:21:14 · 1118 阅读 · 0 评论 -
BZOJ 2330 查分约束
点击打开链接 题意:中文 思路:根据条件构造模型即可#include #include #include #include #include #include #include using namespace std; typedef long long ll; typedef unsigned long long ull; const int inf=0x3f3f3f3f; c原创 2016-10-01 11:22:42 · 373 阅读 · 0 评论