日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

追债之旅(Dijkstra最短路)

發布時間:2023/12/4 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 追债之旅(Dijkstra最短路) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

追債之旅

思路

最短路問題,考慮DijkstraDijkstraDijkstra,用一個二維dis[i][j]dis[i][j]dis[i][j]數組,表示第iii天到達jjj號點的最小花費,disdisdis數組的更新方式改為if(dis[day][to]>dis[day?1][now]+value[to]+cost[day])if(dis[day][to] > dis[day - 1][now] + value[to] + cost[day])if(dis[day][to]>dis[day?1][now]+value[to]+cost[day])則更新disdisdis數組,所以我們最后只要遍歷iii天到達nnn號節點,也就是dis[i][n]dis[i][n]dis[i][n]數組,最后取其最小值就行。

DijkstraDijkstraDijkstra的關鍵就是一個有能夠記錄day,value,posday, value, posday,value,pos當前天數,這個狀態的最小值,當前位置,這樣的結構體,然后重載一下小于號運算符就可以跑個DijkstraDijkstraDijkstra板子了。

代碼

/*Author : lifehappy */ #pragma GCC optimize(2) #pragma GCC optimize(3) #include <bits/stdc++.h>#define mp make_pair #define pb push_back #define endl '\n' #define mid (l + r >> 1) #define lson rt << 1, l, mid #define rson rt << 1 | 1, mid + 1, r #define ls rt << 1 #define rs rt << 1 | 1using namespace std;typedef long long ll; typedef unsigned long long ull; typedef pair<int, int> pii;const double pi = acos(-1.0); const double eps = 1e-7; const int inf = 0x3f3f3f3f;inline ll read() {ll x = 0, f = 1; char c = getchar();while(c < '0' || c > '9') {if(c == '-') f = -1;c = getchar();}while(c >= '0' && c <= '9') {x = (x << 1) + (x << 3) + (c ^ 48);c = getchar();}return x * f; }const int N1 = 1e3 + 10, N2 = 2e4 + 10;int head[N1], to[N2], nex[N2], value[N2], cnt = 1; int visit[20][N1], dis[20][N1], cost[20], n, m, k;struct Node {int day, pos, value;Node(int _day = 0, int _pos = 0, int _value = 0) : day(_day), pos(_pos), value(_value) {}bool operator < (const Node & t) const {return value > t.value;} };void add(int x, int y, int w) {to[cnt] = y;nex[cnt] = head[x];value[cnt] = w;head[x] = cnt++; }void Dijkstra() {for(int i = 0; i <= k; i++)for(int j = 0; j <= n; j++)dis[i][j] = inf;priority_queue<Node> q;q.push(Node(0, 1, 0));dis[0][1] = 0;while(!q.empty()) {Node temp = q.top();q.pop();if(visit[temp.day][temp.pos]) continue;visit[temp.day][temp.pos];int u = temp.pos, day = temp.day, w = temp.value;for(int i = head[u]; i; i = nex[i]) {if(day + 1 > k) continue;if(dis[day + 1][to[i]] > w + value[i] + cost[day + 1]) {dis[day + 1][to[i]] = w + value[i] + cost[day + 1];q.push(Node(day + 1, to[i], dis[day + 1][to[i]]));}}} }int main () {// freopen("in.txt", "r", stdin);// freopen("out.txt", "w", stdout);// ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);n = read(), m = read(), k = read();for(int i = 1; i <= m; i++) {int x = read(), y = read(), w = read();add(x, y, w);add(y, x, w);}for(int i = 1; i <= k; i++)cost[i] = read();Dijkstra();int ans = inf;for(int i = 1; i <= k; i++)ans = min(ans, dis[i][n]);printf("%d\n", ans == inf ? -1 : ans);return 0; }

總結

以上是生活随笔為你收集整理的追债之旅(Dijkstra最短路)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: www成人在线观看 | 久久久久久久久久久久国产 | 老司机深夜福利在线观看 | 欧美精品xx | 美日韩免费 | 国产精品久久久久av | 久久精品无码av | 欧美特黄色片 | 福利一区三区 | 一级黄色片在线免费观看 | 特黄在线 | 中文字幕天堂网 | 国产成人无码精品 | 自拍偷拍av | 日韩在线视频免费观看 | 国产欧美日韩在线观看 | 国产精品久久久久毛片 | 朝鲜一级黄色片 | 亚洲香蕉久久 | 国产精品99久久久久久大便 | 亚洲aⅴ在线 | 日韩三级视频 | 99热日本| 欧美日韩国产精品一区 | 成人小视频免费看 | 国产成人精品一区二区三区网站观看 | 操极品| 国产在线观看无码免费视频 | a天堂在线视频 | 蜜桃色av | 丁香婷婷久久 | 国产又黄又粗又猛又爽 | 免费人成在线观看网站 | 韩国裸体网站 | 七七久久 | 67194在线免费观看 | 五月婷婷伊人网 | 久久精品国产欧美亚洲人人爽 | 午夜精品久久久久久久久久久久久 | 日韩有码一区二区三区 | 日本黄色片在线播放 | 中文字幕乱码人妻一区二区三区 | h在线网站 | 国产精品人妖 | 日日操夜夜操狠狠操 | www.在线观看av| 免费观看黄色小视频 | 午夜免费福利在线 | 国产精品三级电影 | 免费毛片小视频 | 乱色视频 | 色婷婷av一区二区三 | 国产在线不卡一区 | 亚洲精品大全 | 色男人天堂av | 911久久| 在线成人一区二区 | 国产日韩亚洲欧美 | 国产网站免费在线观看 | 无码日韩精品视频 | 欧美特黄色片 | 操操操插插插 | 人乳videos巨大吃奶 | 欧美在线播放一区二区 | 美女高潮流白浆视频 | 亚洲视频中文字幕 | 欧美色精品 | 日韩欧美国产成人 | 不许穿内裤随时挨c调教h苏绵 | 成人黄色小说在线观看 | 精品人妻一区二区三区香蕉 | 特级黄色大片 | 黄在线免费观看 | 国产传媒第一页 | 日本不卡三区 | 欧美午夜精品 | 国精产品一区一区三区免费视频 | 总裁憋尿呻吟双腿大开憋尿 | 9i在线看片成人免费 | 搞逼综合网 | 九九国产视频 | 国产精品日韩一区二区 | 免费av网页 | 中文字幕5566 | 日韩一区二区高清视频 | 高清一区二区在线 | 国产日韩精品一区二区三区在线 | 国产视频综合 | www.色国产| 蘑菇av | 中国白嫩丰满人妻videos | 国产精品suv一区二区69 | 国产盗摄视频在线观看 | 91一区二区三区在线 | 国产无毛片| 亚洲综合无码一区二区 | 手机看片日韩久久 | 三级在线视频 | 中文字幕资源网 |