zoukankan      html  css  js  c++  java
  • 【总结】差分约束模型的要点

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

      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

  • 相关阅读:
    第五章 χ2检验
    统计学中的自由度
    第四章 统计推断
    个性化排序算法实践(二)——FFM算法
    个性化排序算法实践(一)——FM算法
    稀疏矩阵在Python中的表示方法
    个性化召回算法实践(五)——item2vec
    个性化召回算法实践(四)——ContentBased算法
    个性化召回算法实践(三)——PersonalRank算法
    个性化召回算法实践(二)——LFM算法
  • 原文地址:https://www.cnblogs.com/doub7e/p/7623060.html
Copyright © 2011-2022 走看看