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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

poj 1860 Currency Exchange (最短路bellman_ford思想找正权环 最长路)

發布時間:2023/12/9 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 poj 1860 Currency Exchange (最短路bellman_ford思想找正权环 最长路) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

感覺最短路好神奇呀,剛開始我都 沒想到用最短路

題目:http://poj.org/problem?id=1860

題意:有多種從a到b的匯率,在你匯錢的過程中還需要支付手續費,那么你所得的錢是 money=(nowmoney-手續費)*rate,現在問你有v錢,從s開始出發交換錢能不能賺錢

題解:這題其實是用bellman_ford的思想,通過n-1次松弛后,如果還能增加,就說明有環 可以使金錢數不斷增加。

1 #include <iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<cstdlib> 5 #include<stack> 6 #include<queue> 7 #include<cmath> 8 #include<algorithm> 9 using namespace std; 10 int cnt; 11 double dis[1000]; 12 double n,m,v; 13 struct node 14 { 15 int u,v,next; 16 double r,c; 17 }edge[1000]; 18 19 void add(int u,int v,double r,double c) 20 { 21 edge[cnt].u=u; edge[cnt].v=v; 22 edge[cnt].r=r; edge[cnt++].c=c; 23 } 24 int bellman_ford(int s) 25 { 26 int i,j; 27 for(i=0; i<n; i++) 28 dis[i]=0; 29 dis[s]=v; //跟最短路不一樣,到自己的距離是原來的錢數 30 for(i=0; i<n-1; i++) 31 for(j=0; j<cnt; j++) 32 { 33 if(dis[edge[j].v]<(dis[edge[j].u]-edge[j].c)*edge[j].r)//逆用最短路 34 dis[edge[j].v]=(dis[edge[j].u]-edge[j].c)*edge[j].r; 35 } 36 for(j=0; j<cnt; j++) 37 if(dis[edge[j].v]<(dis[edge[j].u]-edge[j].c)*edge[j].r)//如果成立說明有能使錢數增加的環 38 return 1; 39 return 0; 40 } 41 int main() 42 { 43 int s,i,j,a,b; 44 double rab,cab,rba,cba; 45 scanf("%lf%lf%d%lf",&n,&m,&s,&v); 46 cnt=0; 47 for(i=0; i<m; i++) 48 { 49 scanf("%d%d%lf%lf%lf%lf",&a,&b,&rab,&cab,&rba,&cba); 50 add(a,b,rab,cab); 51 add(b,a,rba,cba); 52 } 53 if(bellman_ford(s)) printf("YES\n"); 54 else printf("NO\n"); 55 return 0; 56 } 57

?這個博客:http://blog.csdn.net/wangjian8006/article/details/7871753

就是到s的距離大于v了,就是YES。

有spfa的代碼,這個應該理論上更省時間

轉載于:https://www.cnblogs.com/bfshm/p/3245933.html

總結

以上是生活随笔為你收集整理的poj 1860 Currency Exchange (最短路bellman_ford思想找正权环 最长路)的全部內容,希望文章能夠幫你解決所遇到的問題。

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