Hdu 1428(記憶化搜素 最短路)

2021-09-19 18:58:26 字數 601 閱讀 5289

hdu 1428

思路:求出圖的逆向最短路,即每個點到(n,n)的最短路,

然後求出(1,1)到(n,n)的最短路的數量,num[i][j]記錄點(1,1)到(i,j)過程中的最短路的條數,

然後遇到之前求過最短路的點就直接返回,否則求解後再返回。

參考文章

#include#include#include#include#includeusing namespace std;

typedef long long ll;

const int maxn = 55;

const int inf = 1e9+10;

int zz[4][2] = ;

int n,a[maxn][maxn],vis[maxn][maxn],dis[maxn][maxn];

ll num[maxn][maxn];

void bfs()

} return num[x][y];

}int main(void)

bfs();

printf("%lld\n",dfs(1,1));

} return 0;

}

記憶化搜尋 hdu1428 漫步校園

思路 有幾條可到達的路線是很常規的dp,假設u v 那麼dp u dp v 下一步一定要更加逼近終點而不是遠離終點,用bfs去跑距 n,n 的最短路徑。本題可以與dijkstra堆優化過程中統計最短路條數進行對比 本題 dp i j i,j 到終點的最短路條數 採用記憶化搜尋方式,自下而上 dijk...

HDU 1428 漫步校園 特殊的最短路

這裡需要讀懂題意中的一句話 另外,他考慮從a區域到b區域僅當存在一條從b到機房的路線比任何一條從a到機房的路線更近 否則可能永遠都到不了機房了 這句話的意思是從 1,1 到 n,n 的所有路徑中,只選擇距離最短的路徑,並輸出最短路徑的條數。就是我們找出最短距離後,看看有多少條路到達目的地是最短距離。...

hdu 1142 最短路 記憶化

最短路 記憶化搜尋 hdu 1142 a walk through the forest 題意 找出不同的路徑條數,假如jimmy要從a走到b的話滿足jimmy從b到家的距離比從a到家的距離短 這樣我們可以通過最短路演算法,找出從家 看成源點 到各個點的最短路徑長度,記做d v 然後就可以從起點 o...