随笔分类 -  图论-->差分约束系统

hdu1529(差分约束)
摘要:num[i]为从i时刻开始工作的人数x[i] 为 i时刻实际工作的人数r[i]为 i 时刻至少需要工作的人数Sn表示1~n这段时间开始工作的员工数每个时刻实际工作人数 x[i] >= 0 , 得 Si - S(i-1) >= 0每个时刻实际工作人数 x[i] = -num[i]在 i(24>=i>=8) 时刻可以工作的人数 为 x[i-7]+x[i-6]+x[i-5]+x[i-4]+x[i-3]+x[i-2]+x[i-1]+x[i] >= r[i] , 得 Si - S(i-8) >= r[i]在i(1= r[i] ,得S(24) + Si - S(i+16 阅读全文

posted @ 2013-08-12 12:16 爱∪ 阅读(270) 评论(0) 推荐(0)

POJ3169(差分约束)
摘要:题意:有N头牛,这些牛都拥有一个属性x表示其在坐标轴上的坐标。现在给定ML组约束条件表示A、B两头牛坐标之差不能够超过C;MD组约束条件表示A、B两头牛坐标之差不能小于C,现在问1和N号牛之间最长的距离为多大,如果存在则输出最大长度,如果任意输出-2,如果已知条件存在矛盾输出-1。拿样例来分析4 2 11 3 102 4 202 3 3S3 - S1 = 3 ==> S2 - S3 2 #include 3 #include 4 #include 5 #include 6 #include 7 using namespace std; 8 #define inf 9999999... 阅读全文

posted @ 2013-08-12 00:57 爱∪ 阅读(216) 评论(0) 推荐(0)

ZOJ1455
摘要:题意:给定N个任务,每个任务有一个完成时间。这些任务之间有完成的四种先后顺序,假设这种二元关系建立在x,y之间: SAS:x至少在y开始时开始 SAF:x至少在y完成时开始 FAS:x至少在y开始时完成 FAF:x至少在y完成时完成 现在问这些任务在最短时间内都被完成的任务安排如何?输出每个任务开始的时刻,如果不能的话输出impossible。最长路做法:虚拟出一个0点,S0 = 0 ; Si - S0 >= 0 ; 建图如下for(int i=1; i 2 #include 3 #include 4 #include 5 #include 6 #include ... 阅读全文

posted @ 2013-08-11 23:27 爱∪ 阅读(169) 评论(0) 推荐(0)

POJ1364
摘要:4 21 2 gt 02 2 lt 2if(s[0]=='g') S3-S0>0 S3-S0>=1 S0-S3 2 #include 3 #include 4 #include 5 #include 6 #include 7 using namespace std; 8 #define inf 9999999 9 #define N 10510 #define M 2000011 int dis[N],vis[N],head[N],in[N];12 int size , n ,m ;13 struct Edge14 {15 int v,w,next;16 Edge( 阅读全文

posted @ 2013-08-11 11:54 爱∪ 阅读(179) 评论(0) 推荐(0)

POJ1201(差分约束)
摘要:Sn表示集合Z中小于等于i的元素个数53 7 38 10 36 8 11 3 110 11 11.Z集合中范围在[ai,bi]的整数个数 S[bi] - S[ai - 1] 至少为 Ci,得不等式S2 - S7 2 #include 3 #include 4 #include 5 #include 6 #include 7 using namespace std; 8 #define N 50005 9 #define M 15000510 #define inf 999999911 int dis[N],head[N],vis[N],in[N];12 int n,size,max... 阅读全文

posted @ 2013-08-10 23:56 爱∪ 阅读(226) 评论(0) 推荐(0)

ZOJ2770(差分约束系统学习)
摘要:Sn代表前n个军营的总人数3 21000 2000 10001 2 11002 3 13001.每个兵营实际人数不能超过其容量,得到下面不等式S1 - S0 = M , 转化为 S0 - S3 2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 #define inf 9999999 8 #define N 1005 9 #define M 2300010 int n,m,size;11 int c[N],dis[N],d[N];12 struct Edge13 {14 int u,v,w;... 阅读全文

posted @ 2013-08-10 23:05 爱∪ 阅读(319) 评论(0) 推荐(0)

导航