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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

POJ 1724 二维费用最短路

發(fā)布時(shí)間:2025/5/22 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 POJ 1724 二维费用最短路 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

題目大意:
有N個(gè)城市,編號(hào)1-N
有R條路,每條路(單向)的起點(diǎn)為Si,終點(diǎn)為Di,長(zhǎng)度為L(zhǎng)i,如果要走這條路需要花Ti的錢
現(xiàn)在你只有K元錢,求在不超支的前提下,從1走到N需要的最短距離

?

這里總是希望路程盡可能的短,那么利用dijkstra的方法來(lái)解決問(wèn)題,總是先擴(kuò)展距離近的點(diǎn),這樣能更快的找到終點(diǎn)的最短路

節(jié)點(diǎn)的擴(kuò)展?jié)M足二維的情況,只要路程和費(fèi)用兩個(gè)限制條件中的其中一個(gè)滿足情況那么當(dāng)前節(jié)點(diǎn)便要擴(kuò)展

?

用cost[i],dis[i]記錄在i節(jié)點(diǎn)所能達(dá)到的最優(yōu)狀態(tài),只有某個(gè)情況left>cost[v] && d<dis[i]?那么兩維情況都滿足條件,就可以更新cost[],dis[]

但是這里要注意的是 dis[n]并不一定是最終答案,因?yàn)榭赡苈烦套疃滩⒉灰欢ɑㄙM(fèi)最少,那么就不會(huì)去更新這兩個(gè)數(shù)組,我們只要把第一個(gè)帶n的從

優(yōu)先隊(duì)列中跳出的點(diǎn)的長(zhǎng)度作為答案即可,因?yàn)槭莾?yōu)先隊(duì)列,所以先彈出的n的點(diǎn),一定是距離最短的

?

1 #include <cstdio> 2 #include <cstring> 3 #include <iostream> 4 #include <queue> 5 using namespace std; 6 #define N 10010 7 #define MAXN 200010 8 #define ll long long 9 const int INF = 0x3f3f3f3f; 10 11 int k,n,m; 12 int dis[N] , cost[N]; 13 int first[N] , kk; 14 15 struct Edge{ 16 int x , y , next , d , c; 17 Edge(int x=0 , int y=0 , int next=0 , int d=0 , int c=0):x(x),y(y),next(next),d(d),c(c){} 18 }e[N<<1]; 19 20 struct City{ 21 int id , d , money; 22 City(int id , int d=0 , int money=0):id(id),d(d),money(money){} 23 bool operator<(const City &m) const { 24 if(d == m.d) return money<m.money; 25 else return d>m.d; 26 } 27 }; 28 29 priority_queue<City> q; 30 31 void add_edge(int x,int y,int d,int c) 32 { 33 e[kk] = Edge(x,y,first[x],d,c); 34 first[x]=kk++; 35 } 36 37 int dijkstra() 38 { 39 while(!q.empty()) q.pop(); 40 memset(dis , 0x3f , sizeof(dis)); 41 memset(cost , -1 , sizeof(cost)); 42 q.push(City(1 , 0 , k)); 43 dis[1] = 0 , cost[1] = k; 44 while(!q.empty()) 45 { 46 City u = q.top(); 47 q.pop(); 48 if(u.id == n) return u.d; 49 if(u.d>dis[u.id] && u.money<cost[u.id]) continue; 50 for(int i = first[u.id] ; ~i ; i=e[i].next){ 51 int v = e[i].y; 52 if(u.money-e[i].c>=0 && (u.money-e[i].c>cost[v] || u.d+e[i].d<dis[v])){ 53 int left = u.money-e[i].c; 54 int distance = u.d+e[i].d; 55 q.push(City(v,distance,left)); 56 if(left>cost[v] && distance<dis[v]){ 57 cost[v] = left; 58 dis[v] = distance; 59 } 60 } 61 } 62 } 63 return INF; 64 } 65 66 int main() 67 { 68 // freopen("a.in" , "r" , stdin); 69 while(~scanf("%d%d%d", &k , &n , &m)) 70 { 71 kk=0; 72 memset(first , -1 , sizeof(first)); 73 for(int i=0 ; i<m ; i++){ 74 int x,y,d,c; 75 scanf("%d%d%d%d" , &x , &y , &d , &c); 76 add_edge(x , y , d , c); 77 } 78 int ans = dijkstra(); 79 if(ans == INF) puts("-1"); 80 else printf("%d\n" , ans); 81 } 82 return 0; 83 }

?

轉(zhuǎn)載于:https://www.cnblogs.com/CSU3901130321/p/4504625.html

總結(jié)

以上是生活随笔為你收集整理的POJ 1724 二维费用最短路的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美自拍偷拍第一页 | 婷婷色婷婷开心五月四房播播 | 欧美激情自拍偷拍 | 亚洲欧美精品suv | 日韩黄色一级视频 | 欧美裸体精品 | 俺去俺来也在线www色官网 | 亚洲视频区 | 亚洲涩涩 | 久久精品视频6 | 午夜精品久久久久久久蜜桃 | 日韩aⅴ片 | 国产又大又黄的视频 | 超碰p| 亚洲成av人片一区二区 | 亚洲精品一线二线三线 | 91视频免费视频 | 无码人妻久久一区二区三区 | 久久国产精品-国产精品 | 久久看视频 | 国内精品一区二区三区 | 青春草视频在线免费观看 | 久久草av | 国产又白又嫩又爽又黄 | 欧美日韩国产黄色 | 成人在线精品视频 | 日韩五十路 | 亚洲天堂爱爱 | 欧美性猛交一区二区三区精品 | 亚洲性生活网站 | 欧美,日韩,国产在线 | 中文字幕一二三区 | 国产草草草 | 国产麻豆一区二区三区在线观看 | 精品影视一区二区 | 人妻人人澡人人添人人爽 | 强乱中文字幕av一区乱码 | 天天躁日日躁狠狠躁伊人 | 中文字幕理论片 | 开心激情网站 | 日皮视频免费看 | www黄在线观看 | 色欧美日韩 | 精品久久久久久亚洲综合网站 | 香蕉视频污在线观看 | 久久一区av| a视频 | 国产毛片基地 | 亚洲av永久无码精品一区二区国产 | 毛片毛片毛片毛片毛片毛片毛片毛片 | 涩涩久久| 九九热这里有精品 | 中文字幕黑丝 | 黄色一级在线视频 | 欧美亚洲网站 | 制中文字幕音影 | 成人黄色大片在线观看 | 丁香花五月天 | 99国产精品免费视频 | 爱视频福利网 | 91精品久久久久久久99蜜桃 | 在线欧美成人 | ts人妖在线观看 | 国产69精品久久 | 久久久久久久性 | 日韩第1页 | 欧美日韩国产色 | 一女二男一黄一片 | 欧美一区二区三区黄片 | 岛国精品在线 | 日韩精品视频中文字幕 | 色婷婷免费视频 | 亚洲网站视频 | 噜噜噜久久久 | 二区影院 | 色视屏| 欧美综合激情 | www.香蕉视频在线观看 | 欧美一区二区三区爱爱 | 国产又黄又粗又长 | 激情影院内射美女 | 久草久操 | www.九九热.com | 成人免费xxxxx在线视频 | 国产爽爽爽| 欧美另类z0zx974 | 亚洲黄色免费网站 | 夜晚福利视频 | jizz日本少妇 | 欧美伊人 | 国产精品一区在线观看 | 欧美日韩在线a | 久久久久久久久久网站 | 日韩综合另类 | 国产日韩精品电影 | 大陆极品少妇内射aaaaaa | 蜜桃精品成人影片 | 在线观看成人小视频 | 亚洲精品电影在线观看 |