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

【总结】差分约束模型的要点

时间:2017-10-03 00:49:45      阅读:197      评论:0      收藏:0      [点我收藏+]

标签:负环   arc   detail   有向图   sdn   错误   cio   jit   标准   

  只是一些自己想到的东西,记下来以防忘记。

 

  1. 求解一系列的 f[b] - f[a] <= x 不等式组时,由a向b建权值为x的边,求最短路。有负环时无解,体现为在SPFA中一个点入队超过n次。

  2. 求解一系列的 f[b] - f[a] >= x 不等式组时,由a向b建权值为x的边,求最长路。有正环时无解,体现为在SPFA中一个点入队超过n次。

  3. 当不等式组中有两种不等式时,应转化为一种不等式,再建边、求最短(长)路。f[b] - f[a] == x 可转化为 f[b] - f[a] <= x 与 f[b] - f[a] >= x 的组合。

  4. 需要判无解时若n过大,可以减小入队次数标准以求减小运行时间,例如sqrt(n)次,带来的后果是有可能会出错。(不确定)

  5. 判断不等式组是否有解时,可能没有确定的起点,需要加一个超级源点s,并向所有其它点连一条s到该点权值为0的有向边,再从点s跑SPFA。

  6. 求点s到点t的最短路,即求满足所有不等式的 f[t] - f[s] 的最大值(求最长路时类似)。有些题目中s和t不是确定的,需要自己判断,如果搞反了显然答案是错误的(有向图不同于无向图)。

  7. 注意隐含的不等式,如 sum[i+1] - sum[i] >= 0 等等。

 

  下面两个博客有非常详细的讲解/习题,很不错:

  http://www.cppblog.com/menjitianya/archive/2015/11/19/212292.html

  http://blog.csdn.net/consciousman/article/details/53812818

【总结】差分约束模型的要点

标签:负环   arc   detail   有向图   sdn   错误   cio   jit   标准   

原文地址:http://www.cnblogs.com/doub7e/p/7623060.html

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