zoukankan      html  css  js  c++  java
  • 【算法】差分约束系统

    差分约束系统有两种方式可以求解,最短路和最长路。当我们把不等式整理成d[a]+w(a,b) <= d[b]时,我们求最长路。整理成d[a]+w(a,b) >= d[b]时,我们求最短路。

     最短路求得是最大值,最长路求得是最小值。(w(a,b) 表示任意一条a到达b的路径 )

    想象一下我们求最短路径的时候是不是有 d[a] + w(a,b) >= d[b]  。意义是任意一条a到b的路径都大于等于a到b的最短路径。 

    所以最短路要求的是,所有满足要求的式子中的最大值。(满足这个最大值的w(a,b)是最小的)

    最长路径同理。

    所以以后碰到全是这类式子的题,就可以转化成最短路或者最长路的问题来求解。

    最短路:Bellman-Ford算法、Dijkstra算法。

    最长路:把图中边的权值变成负数,再求最短路径,取反就是最长路,

  • 相关阅读:
    uva 10881
    uva 1388
    【USACO 3.2.5】魔板
    【USACO 3.2.4】饲料调配
    【USACO 3.2.3】纺车的轮子
    【USACO 3.2.2】二进制数01串
    【USACO 3.2.1】阶乘
    【USACO 3.1.6】邮票
    【USACO 3.1.5】联系
    【USACO 3.1.4】形成的区域
  • 原文地址:https://www.cnblogs.com/zhangjiuding/p/7807503.html
Copyright © 2011-2022 走看看