博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
差分约束系统总结(转)
阅读量:5277 次
发布时间:2019-06-14

本文共 710 字,大约阅读时间需要 2 分钟。

 

差分约束总结: 

今天请教了DQS大神,算是对差分做一个系统性的总结吧,也算是对自己近期不完善理解的差分约束理一遍。

差分约束分为3大类,求最小,求最大,求是否满足约束条件,第三类求是否满足直接判断负环即可,一般都结合前两类来出题。

1:求最小。求最小一般是跑最长路,在已有约束条件下建立超级原点(自以为是这么叫),然后根据题目向每一条边建边(边权根据题目而定),然后跑最长路,求最小的一般是满足这样的约束条件:a >= b + c(这么写是为了体现最长路的性质,便于理解)(并且注意这里不要和松弛混了,这个式子说明a要比b至少大c,所以b要通向a至少要c,可以这么理解一下),满足这样的约束条件就b向a建一条权值为c的边。

2:求最大。求最大一般是跑最短路,同样是在已有约束条件下建立超级原点,建边,最短路类型的一般是满足约束条件:a <= b + c(体现了最短路的性质),这样的约束条件下由b向a建一条权值为c的边。

但是题目可能不给你恰好的约束条件(a >= b + c || a <= b + c),可能会出现下面的情况: 

a < b + c 
a > b + c 
a = b + c 
a < b 
a > b 
a = b; 
依次转化为下面情况: 
a <= b + c - 1 
a >= b + c + 1 
(a >= b + c a <= b + c) 
另外三种是上面三种在C = 0时的情况; 
其他自行脑补~ 当然具体情况依题目而定咯~

题目链接: 

POJ:; 
BZOJ: 
今天T3 =-= 没有链接

转载于:https://www.cnblogs.com/zhenghaotian/p/7027863.html

你可能感兴趣的文章
实现MyLinkedList类深入理解LinkedList
查看>>
自定义返回模型
查看>>
C#.NET 大型通用信息化系统集成快速开发平台 4.1 版本 - 客户端多网络支持
查看>>
HDU 4122
查看>>
Suite3.4.7和Keil u3自带fx2.h、fx2regs.h文件的异同
查看>>
打飞机游戏【来源于Crossin的编程教室 http://chuansong.me/account/crossincode 】
查看>>
[LeetCode] Merge Intervals
查看>>
【翻译自mos文章】当点击完 finishbutton后,dbca 或者dbua hang住
查看>>
Linux编程简介——gcc
查看>>
2019年春季学期第四周作业
查看>>
MVC4.0 利用IActionFilter实现简单的后台操作日志功能
查看>>
rotate the clock
查看>>
bugku 变量
查看>>
数据库01 /Mysql初识以及基本命令操作
查看>>
数据库02 /MySQL基础数据类型以及多表之间建立联系
查看>>
Python并发编程04/多线程
查看>>
CF461B Appleman and Tree
查看>>
CF219D Choosing Capital for Treeland
查看>>
杂七杂八的小笔记本
查看>>
51Nod1353 树
查看>>