【算法】差分约束系统
生活随笔
收集整理的這篇文章主要介紹了
【算法】差分约束系统
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
差分約束系統有兩種方式可以求解,最短路和最長路。當我們把不等式整理成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算法。
最長路:把圖中邊的權值變成負數,再求最短路徑,取反就是最長路,
總結
以上是生活随笔為你收集整理的【算法】差分约束系统的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【算法】单源最短路径和任意两点最短路径总
- 下一篇: java信息管理系统总结_java实现科