码迷,mamicode.com
首页 > 其他好文 > 详细

差分约束系统

时间:2018-11-09 20:57:40      阅读:186      评论:0      收藏:0      [点我收藏+]

标签:转化   两种   条件   变形   构造   两种方法   初始化   通过   距离   

差分

  差分就是一种找出不等式然后将不等式转化为解题方法的算法。

差分的关键

  1. 构造不等式
  2. 通过不等式连边

差分约束系统中源点到每个点的距离确定

关于Dist[]的初始化

  1. 如果将源点到各点的距离初始化为0,最终求出的最短路满足它们之间相互最接近了。
  2. 如果将源点到各点的距离初始化为INF(无穷大),其中之1为0,最终求出的最短路满足它们与该点之间相互差值最大。
  3. 差分约束系统的确立要根据自己确定的约束条件,从约束点走向被约束点

构造不等式

不等条件一般分两种情况:

  1. 距离。
  2. 前N项和。

如何连边

连边一般有两种方法:

  • 第一种是连边后求最长路的方法。
  • 第二种是连边后求最短路的方法。

例:d[x]-d[y]≥z

  • 如果想连边后求最长路,那么将不等式变形为这种形式:d[x]≥d[y]+z(y——x连一条权值为z的边)
  • 如果想连边后求最短路,那么将不等式变形为这种形式:d[y]≤d[x]-z(x——y连一条权值为-z的边)
  • 如果是别的不等式,也可以根据情况变形。但是要保证的是两个变量(x,y)的系数一定要是正的。而常量则不一定。

 

差分约束系统

标签:转化   两种   条件   变形   构造   两种方法   初始化   通过   距离   

原文地址:https://www.cnblogs.com/zhangzefei/p/9936630.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!