發表文章

目前顯示的是有「最短路」標籤的文章

ZJ a674: 10048 - Audiophobia

題目鏈接: https://zerojudge.tw/ShowProblem?problemid=a674 Floyd把DP式改成\(dp_{ij}=min(dp_{ij},max(dp_{ik},dp_{kj}))\)就行了 至於原因就請自己思考看看啦 以下為code #include < bits/stdc++.h > #include < bits/extc++.h > using   namespace  std; using   namespace  __gnu_cxx; using   namespace  __gnu_pbds; using   ll   =   long   long ; #define   AC  ios :: sync_with_stdio ( 0 ),cin. tie ( 0 ); int   main () {     AC      int  c,s,q,cnt = 1 ;      while (cin >> c >> s >> q && c && s && q)     {         cout << " Case # " << cnt ++<< ' \n ' ;         vector < vector < ll >>   v (c + 1 , vector < ll >(c + 1 , 1 e 9 ));          for ( int  i = 0 ;i < ...

ZJ d793: 00929 - Number Maze

題目鏈接: https://zerojudge.tw/ShowProblem?problemid=d793 dijkstra最短路 二維就開個二維去存 要注意第一個點的值也要算進去,一開始沒發現還WA了 以下為code #include < bits/stdc++.h > #include < bits/extc++.h > using namespace std; using namespace __gnu_cxx; using namespace __gnu_pbds; using ll = long long ; #define AC ios :: sync_with_stdio ( 0 ),cin. tie ( 0 ); struct node { ll x,y,val; vector < pair < ll,ll >> child; }; int main () { AC ll t,n,m; cin >> t; while (t -- ) { cin >> n >> m; vector < vector < node >> v (n + 1 , vector < node >(m + 1 )); vector < vector < ll >> dis (n + 1 , vector < ll >(m + 1 , 1 e 9 )); for (ll i = 1 ;i <= n;i ++ ) for (ll j = 1 ;j <= m;j ++ ) { cin >> v[i][j].val; if (i - 1 ) v[i][j].child. emplace_back (i - 1 ,j),v[i - 1 ][j].child. emplace_back (i,j); if (j - 1 ...