zoukankan      html  css  js  c++  java
  • 差分约束系统

    小结:

    差分约束就是用最短(最长路径)来解决满足一系列约束条件的问题的最优解,首先约束条件必须满足一定的限制,即每个约束条件系数只能为1,-1这样的不等式。

    差分约束系统的解题过程大致为:

    a 建立约束图

    增加一个原点,根据约束条件构造约束图。

    b 利用dijkstra或者bellman_ford求出最短(长)路径,如果有负边,只能用后者。

    如果题目要求出最小值,我们将所有的不等式转化成>=,构造出约束图,开始的时候每个dist[i]赋值为-INF,然后求最长路径,这个是原点距离固定的情况,比如题目poj1201,mina是最小坐标,minb是最大坐标,题目让求的是dist[maxb]-dist[mina],我们令dist[mina]=0,求出来dist[maxb]为所求。

    如果求最大值,将不等式转化为<=,求最短路径,开始的时候每个dist赋值为INF,并令固定点赋值为0,例如题目poj3159.

  • 相关阅读:
    工作感悟
    9/10记事
    总结几份工作的感悟
    四次原则
    在UC浏览器上很炫的一个效果
    php跨服务器传递对象
    wdlinux一键安装包
    手机号码4位隐藏
    php中英文字符串转字母转大小写
    MySQL添加用户、删除用户与授权
  • 原文地址:https://www.cnblogs.com/buptLizer/p/2173414.html
Copyright © 2011-2022 走看看