差分约束系统总结
2015-10-15 21:58
295 查看
差分约束总结:
今天请教了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:Candies;
BZOJ: [SCOI2011]糖果 题号居然是2330 不是权限题
今天T3 =-= 没有链接
今天请教了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:Candies;
BZOJ: [SCOI2011]糖果 题号居然是2330 不是权限题
今天T3 =-= 没有链接
相关文章推荐
- 简单的python socket服务器和客户端
- 关于VS2013 MFC单文档菜单项设置复选框的出现的问题以及处理方法
- 一个简单的实现了智能虚拟女友—图灵机器人
- easyui form与360浏览器的不兼容性
- Android_03_数据库的使用总结
- python,开启django服务器
- ubuntu14.04 修改键盘映射 CapsLock->Ctrl
- C基础:循环 随机数
- Android Canvas笔记
- [转] iOS --- "自释放"在iOS开发中的应用
- iOS 代理,代理是实现反向传值步骤
- DayDayUP_Linux运维学习_NFS搭建与使用
- Handler任务模型之Message类分析
- ZOJ 3903 Ant ZOJ Monthly, October 2015 - A
- Bootstrap 内联标签和徽章
- 非递归学习树结构(六)--RB-Tree(红黑树)
- [TwistedFate]函数声明定义,函数调用,形参,实参,函数嵌套调用
- LaTeX数学公式的符号表示
- LeetCode34——Search for a Range
- genymotion的一个小错误