前言

比赛时有想到是最短路,可是觉得自己的是错的就没做qwq


正题


大意

有n头牛,坐标分别为s1,s2,s3...sns1,s2,s3...sns_1,s_2,s_3...s_n,保证si⩽si+1si⩽si+1s_i\leqslant s_{i+1}。有mlmlml个要求是第aaa头牛和第b" role="presentation" style="position: relative;">bbb头牛距离不能超过DDD,然后有mr" role="presentation" style="position: relative;">mrmrmr个要求是第aaa头牛和第b" role="presentation" style="position: relative;">bbb头牛距离至少为DDD。求第1头和第n头牛之间的最大距离。


解题思路

第一个要求就是a−b⩽D" role="presentation" style="position: relative;">a−b⩽Da−b⩽Da-b\leqslant D,直接差分约束在a连b权值为D。然后第二种a+b⩾Da+b⩾Da+b\geqslant D就b连a权值-D。

这就是裸差分约束系统,可是我那时候不会


代码

#include<cstdio>
#include<queue>
#include<cstring>
#define MN 1010
using namespace std;
queue<int> q;
struct line{int to,w,next;
}a[MN*30];
int n,ml,mr,tot,x,y,w,f[MN],ls[MN],len[MN];
bool v[MN];
void addl(int x,int y,int w)
{a[++tot].to=y;a[tot].w=w;a[tot].next=ls[x];ls[x]=tot;
}
int spfa()//函数如其名就是spfa
{memset(f,127/3,sizeof(f));q.push(1);v[1]=1;len[1]=1;f[1]=0;while (!q.empty()){int x=q.front();q.pop();v[x]=0;for (int i=ls[x];i;i=a[i].next){int y=a[i].to;if (f[x]+a[i].w<f[y]){f[y]=f[x]+a[i].w;len[y]=len[x]+1;if(len[y]>n) return -1;if (!v[y]){v[y]=1;q.push(y);}}}}if (f[n]>=690563370) return -2;return f[n];
}
int main()
{scanf("%d%d%d",&n,&ml,&mr);for (int i=1;i<=ml;i++){scanf("%d%d%d",&x,&y,&w);addl(x,y,w);}for (int i=1;i<=mr;i++){scanf("%d%d%d",&x,&y,&w);addl(y,x,-w);}printf("%d",spfa());
}

jzoj1295-设计【差分约束系统,最短路】相关推荐

  1. 【转】 差分约束系统详解(转化为最短路) (概念)

    ---恢复内容开始--- 转自:http://www.cnblogs.com/void/archive/2011/08/26/2153928.html 差分约束系统中: 如果求未知数的最大值,那么按小 ...

  2. 【差分约束系统】【强连通分量缩点】【拓扑排序】【DAG最短路】CDOJ1638 红藕香残玉簟秋,轻解罗裳,独上兰舟。...

    题意: 给定n个点(点权未知)和m条信息:u的权值>=v的权值+w 求点权的极小解和极大解(无解则输出-1) 极小解即每个点的点权可能的最小值 极大解即每个点的点权可能的最大值 题解: 差分约束 ...

  3. 【图论专题】差分约束系统

    整理的算法模板合集: ACM模板 题目列表: 题目 算法 AcWing 1169. 糖果 差分约束系统.超级源点.求最值 UVA1723 Intervals 差分约束.求最值 AcWing 1170. ...

  4. 差分约束系统【模板】

    差分约束系统:如果一个系统由n个变量和m个约束条件组成,其中每个约束条件形如 xj - xi<= bk ( i , j ∈ [1,n],k ∈ [1,m]),则称其为差分约束系统.  例如如下的 ...

  5. 差分约束系统——建模与求解

    如果一个系统由n个变量和m个约束条件组成,其中每个约束条件形如:xj-xi<=bk,其中,1<=i,j<=n, 1<=k<=m.则称其为差分约束系统(System of ...

  6. 【算法】差分约束系统

    差分约束系统有两种方式可以求解,最短路和最长路.当我们把不等式整理成d[a]+w(a,b) <= d[b]时,我们求最长路.整理成d[a]+w(a,b) >= d[b]时,我们求最短路. ...

  7. 图论--差分约束系统

    先上一张图,看懂了就可以走了!你学会了! 求x1-x4的最大值,由题目给的式子1,2,4可得x1-x4>=11,我们来看图中最短路,x1到X4的最短距离也是11,也就是说差分约束系统就是将给定条 ...

  8. 提高篇 第三部分 图论 第4章 差分约束系统

    差分约束系统_我的ACM,我的梦!!!-CSDN博客_差分约束系统 差分约束系统详解 - hr_whisper - 博客园 最短路径算法:Bellman和差分约束系统_算法导论视频课程_其他视频-51 ...

  9. 图论 —— 差分约束系统

    [概述] 如果一个系统由 n 个变量 m 个约束条件组成,形成 m 个形如  的不等式,其中 ,k 是常数,则称这 m 个不等式为差分约束系统(system of difference constra ...

最新文章

  1. mysql 报错 sql_mode=only_full_group_by 解决方法
  2. HighCharts日期及数值格式化
  3. unity android 原生,unity创建Android原生插件
  4. 用C#编写ActiveX控件(二) 转载
  5. 和我一起学CSLA.NET----创建业务对象2
  6. 第17讲 | 去中心化与区块链交易性能
  7. 2018-01-29(HTML+CSS)
  8. python 链表操作 优化_Python:如何修改列表时内存的使用和优化?
  9. Robo 3T(Studio 3T)最新版安装教程
  10. 2022年京东年货节红包雨攻略,年货节红包最高领8888元红包
  11. Cadence OrCAD Capture 全局修改TitleBlock信息
  12. Beyond 比对工具
  13. mac风扇控制_如何监视和控制Mac的风扇
  14. TweenMax.to()的使用
  15. 恒生期货交易时间(恒生指数期货交割日期)
  16. 安利一个小众又逆天的副业,轻松月入过万
  17. 心动不如行动, 盘点职场实干者的10大标志
  18. Lammps压力控制之活塞控压—一个代码循环限域空间内的气体分子数
  19. NVIDIA GPU加速FFmpeg
  20. 原神如何修改服务器,原神服务器选择攻略 新手选择官服还是渠道服好

热门文章

  1. 加时间水印_如何在手机照片上添加时间和日期?打开这个设置即可添加,超方便...
  2. c mysql binlog_Mysql Binlog
  3. 项目进度计划甘特图_项目管理进度计划表制作及甘特图绘制方法
  4. 此 sqltransaction 已完成;它再也无法使用_手把手教你如何修眉毛,学会再也不用花钱去美容院了...
  5. 安装默认报表服务器虚拟目录,本机模式安装默认配置 (Reporting Services)
  6. 好用的平板电脑_平板选择华为M6,这里有几点建议
  7. 计算机系统结构答案汤志忠,计算机系统结构(第2版)郑伟明汤志忠课后习题答案以及例题收录.doc...
  8. Zookeeper理解---ZAB协议
  9. word List 06
  10. java计算字符串中字符出现的次数_java – 计算字符串中字符出现次数