图论--Floyd总结
Key word:
??? ①最短路
??? ②傳遞閉包:大小關(guān)系 數(shù)值關(guān)系 先后關(guān)系 聯(lián)通關(guān)系
??? ③floyd變形
??? ④實(shí)現(xiàn)方式:插點(diǎn)發(fā)法
??? ⑤思想:動(dòng)態(tài)規(guī)劃
1.最短路:
最短路是floyd的一個(gè)基本應(yīng)用,但是對(duì)于不是裸題的最短路該怎么使用是我們要關(guān)注的,其次什么時(shí)候使用也是要注意的,至于什么時(shí)候使用Floyd,首先先看數(shù)據(jù)量,三重循環(huán)始終是Floyd不可避免的,所以200的點(diǎn)是極限,小于兩百的時(shí)候,就要考慮,這個(gè)最短路如果考察Floyd那么他一定有坑,或者改變問(wèn)的方式及在floyd過(guò)程中的處理操作,這里放到3,簡(jiǎn)單的有求一條最短路,最短路經(jīng)過(guò)邊需要花費(fèi),經(jīng)過(guò)節(jié)點(diǎn)也需要花費(fèi),這時(shí)候就需要稍稍處理,復(fù)雜的也會(huì)有很多提問(wèn)方式,要敏感,因?yàn)閒loyd的很多特性是其他最短路所沒(méi)有的,多源最短路,關(guān)系的傳遞性這里放到2,例如給出最短路,在原圖中刪去一些邊是使得給出最短路仍是最短路,因?yàn)镕loyd動(dòng)態(tài)規(guī)劃的特性,他具有能夠遍歷所有的狀態(tài)的特點(diǎn),所有他能夠找到任何邊判斷能否被松弛,這里是被替換。所以掌握好Floyd是做題的關(guān)鍵。
2.傳遞閉包:
這里是對(duì)關(guān)系的傳遞,這點(diǎn)用起來(lái)很舒服,比如匯率問(wèn)題,求一種貨幣能經(jīng)過(guò)若干次兌換變成更多的自己,這里的話我們考慮,dis[i][j]為i與j的匯率,那么松弛時(shí)則有dis[i][k]* dis[k][j]與dis[i][j]比較大小,這個(gè)時(shí)候Floyd傳遞的不再是數(shù)值關(guān)系,而是大小關(guān)系,這也算是最短路的變形,最大乘積路(?)。
3.Floyd 變形:
剛才也舉了很多例子了,他們都是屬于Floyd變形,至于為什么拿出來(lái)說(shuō)是因?yàn)镕loyd不可能考裸體(實(shí)在想考,那也沒(méi)辦法),考的都是變形題目,那么怎么變形很成問(wèn)題,所以怎么變形,怎么去找題意是解決問(wèn)題的關(guān)鍵,出題人的想法千奇百怪,你真的想不到他會(huì)怎么考你,所以做到所有的floyd是不現(xiàn)實(shí)的,即使floyd不難,但是我們還是通過(guò)題目找到了規(guī)律,所有的題目的考察都是根據(jù)2,4,5所改造的,那么理解4,5是解題關(guān)鍵。
4、5.這里一起說(shuō)一下,動(dòng)態(tài)規(guī)劃思想在這里是最小化的枚舉各種松弛情況,可以理解為區(qū)間DP相似的思想,也就是說(shuō)關(guān)于I J之間的關(guān)系,可以通過(guò)floyd解決,在就是插點(diǎn)法,在兩點(diǎn)外插入點(diǎn)以獲得松弛操作,比如在一個(gè)圖中,給你幾條邊讓你添加到圖中使得起點(diǎn)終點(diǎn)距離最小,這就是插點(diǎn),插點(diǎn)更新距離即可。
這是我的總結(jié),有不太對(duì)的地方,希望可以指出,共同進(jìn)步。
總結(jié)
以上是生活随笔為你收集整理的图论--Floyd总结的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: “一切都回来了”以后,协同办公商业化路在
- 下一篇: 图论--Dijkstra算法总结