题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1731 对差分约束理解更深.还发现美妙博客:http://www.cppblog.com/menjitianya/archive/2015/11/19/212292.html 原来不是一定要有一个源点向每个点连0边.而且“不可到达”原来是那个意思. UPD(过了一会儿): vis[ ]被自己蒟掉了……但好在spfa也可以看松弛次数!一直以为只能看入队次数. #include<iostream…
Description 当排队等候喂食时,奶牛喜欢和它们的朋友站得靠近些.FJ有N(2<=N<=1000)头奶牛,编号从1到N,沿一条直线站着等候喂食.奶牛排在队伍中的顺序和它们的编号是相同的.因为奶牛相当苗条,所以可能有两头或者更多奶牛站在同一位置上.即使说,如果我们想象奶牛是站在一条数轴上的话,允许有两头或更多奶牛拥有相同的横坐标.一些奶牛相互间存有好感,它们希望两者之间的距离不超过一个给定的数L.另一方面,一些奶牛相互间非常反感,它们希望两者间的距离不小于一个给定的数D.给出ML条关于两…
[BZOJ1731][Usaco2005 dec]Layout 排队布局 Description Like everyone else, cows like to stand close to their friends when queuing for feed. FJ has N (2 <= N <= 1,000) cows numbered 1..N standing along a straight line waiting for feed. The cows are standin…
差分约束裸题,用了比较蠢的方法,先dfs_spfa判负环,再bfs_spfa跑最短路 注意到"奶牛排在队伍中的顺序和它们的编号是相同的",所以\( d_i-d_{i-1}>=0 \),连(i,i-1,0):然后对于\( d_i-d_j<=L \),连(j,i,L):对于\( d_i-d_j>=D --> d_j-d_i<=-D \),连(i,j,-D) 然后先判负环再跑最短路即可 #include<iostream> #include<c…
Description Like everyone else, cows like to stand close to their friends when queuing for feed. FJ has N (2 <= N <= 1,000) cows numbered 1..N standing along a straight line waiting for feed. The cows are standing in the same order as they are numbe…
填坑- 差分约束一般是搞一个不等式组,求xn-x1的最大最小值什么的,求最大值就转化成xa<=xb+w这样的,然后建图跑最短路(这才是最终约束的),举个例子 x1<=x0+2x2<=x0+7x3<=x0+8x2<=x1+3x3<=x2+2 那么解出来 x3<=x0+7x3<=x0+8x3<=x0+9 结果肯定是 x3<=x0+7 所以直接对于已知条件建边,大于小于可以互相转换,注意:相邻的要保证顺序. #include<cstdio>…
1731: [Usaco2005 dec]Layout 排队布局 题意: n头奶牛在数轴上,不同奶牛可以在同个位置处,编号小的奶牛必须在前面.m条关系,一种是两头奶牛距离必须超过d,一种是两头奶牛距离不能超过d.要求:如果不存在情况满足要求则输出-1,奶牛1到n的距离可以为无限大输出-2,否则输出1到n的最大距离. 题解: 差分约束系统.注意:如果是求最大值,则定义限制条件设定为≤并跑最短路,因为得到的是满足条件的最大值,如果是求最小值,则定义限制条件设定为≥并跑最长路,因为得到的是满足条件的最…
[题意]给定按编号顺序站成一排的牛,给定一些约束条件如两牛距离不小于或不大于某个值,求1和n的最大距离.无解输出-1,无穷解输出-2. [算法]差分约束+最短路 [题解]图中有三个约束条件,依次分析: ①坐标顺序和编号顺序一致[一定一定要记得这个约束条件] xi-xi-1>=0 i向-1连边0 ②两牛距离不大于距离L xj-xi<=L i向j连边L ③两牛距离不小于距离D xj-xi>=D即xi-xj<=-D j向i连边-D 连边完毕,通过跑最短路得到起点和终点的直接约束xT-xS…
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1731 差分约束: ML: dis[y] - dis[x] <= k,即 x 向 y 连边权为 k 的边: MD: dis[y] - dis[x] >= k,即 y 向 x 连边权为 -k 的边: 有负环说明要 <= 的 k 无限小,所以无解,输出 -1: 走不到说明 1 与 n 之间无限制关系,所以 dis[n] 可以无限大,输出 -2: 还要注意隐藏条件是编号小的在编号大的前面,…
Description Like everyone else, cows like to stand close to their friends when queuing for feed. FJ has N (2 <= N <= 1,000) cows numbered 1..N standing along a straight line waiting for feed. The cows are standing in the same order as they are numbe…