多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > php教程 > Aizu 1311 Test Case Tweaking(spfa變形,dp)

Aizu 1311 Test Case Tweaking(spfa變形,dp)

來源:程序員人生   發布時間:2015-03-27 08:21:06 閱讀次數:3615次

題目鏈接:http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=1311

題意: 給出1張有向圖,和1個權值c,問將1~n亮點之間的最短路徑花費降到c,最少需要修改多少條邊。 數據范圍是100個點,1000條邊。

思路:這道題題目的最關鍵點就是想到用1個2維數據去記錄每一個點的情況(也就是dp式子的定義) dp[x][y] 表示從頂點1動身到達頂點x且修改邊的數量為y時的最小花費(默許修改邊權的時候把邊權直接降為0), 轉移的時候就是斟酌兩種情況: 修改邊權 和 不修改邊權 (當花費加上邊權大于c的時候1定要修改邊權)。 并且要注意在轉移的進程中,要隨時保證花費是小于c的。


code:

#include <cstdio> #include <cstdlib> #include <algorithm> #include <iostream> #include <vector> #include <queue> #include <cstring> #define inf 0x3f3f3f3f using namespace std; const int maxn=1005; vector<pair<int,int> > P[maxn]; int dp[105][maxn],n,m,c; bool vis[105][maxn]; int spfa(int org) { memset(dp,63,sizeof dp); memset(vis,0,sizeof vis); queue<pair<int,int> > que; dp[org][0]=0; que.push(make_pair(org,0)); vis[org][0]=true; while(que.size()){ int v=que.front().first; int nv=que.front().second; que.pop(); if(nv>m) continue; //1定要有 for(int i=0;i<P[v].size();i++){ int u=P[v][i].first,cc=P[v][i].second; //枚舉兩種轉移方式 if(dp[v][nv]<dp[u][nv+1]){ dp[u][nv+1]=dp[v][nv]; if(!vis[u][nv+1]) que.push(make_pair(u,nv+1)); } if(dp[v][nv]+cc<=c&&dp[v][nv]+cc<dp[u][nv]){ dp[u][nv]=dp[v][nv]+cc; if(!vis[u][nv]) que.push(make_pair(u,nv)); } } vis[v][nv]=false; } for(int i=0;i<=m;i++) if(dp[n][i]<inf) return i; } int main() { //freopen("input.txt","r",stdin); int st,ed,cc; while(scanf("%d%d%d",&n,&m,&c),n!=0||m!=0||c!=0){ for(int i=0;i<=n;i++) P[i].clear(); for(int i=0;i<m;i++){ scanf("%d%d%d",&st,&ed,&cc); P[st].push_back(make_pair(ed,cc)); } printf("%d ",spfa(1)); } }


生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 国产欧美综合在线一区二区三区 | 精品一区二区三区免费站 | 一级毛片在线免费观看 | 久久综合久久综合久久 | 免费视频在线观看网站 | 国产一区二区三区不卡在线观看 | 日韩精品欧美国产精品亚 | 国产免费久久精品44 | 欧美精品1区2区 | 欧美日韩一区二区高清视 | 国产日韩欧美一区二区 | xxxxx免费视频 | 国产成人久久久精品一区二区三区 | 欧美性bbbb | 亚洲 欧美 日韩 综合aⅴ视频 | 成人国产网站v片免费观看 成人国产亚洲 | 国产亚洲精品国产 | 91在线 一区 二区三区 | h网站在线看 | 色一情一伦一区二区三 | 淫欲影院 | 欧美国产综合日韩一区二区 | 亚洲 欧美 中文字幕 | 国产中文字幕视频 | 日本成人一区二区三区 | 日韩乱码中文字幕视频 | 亚洲欧美激情在线 | 羞羞网站在线观看 | 手机免费在线视频 | 伊人久久五月 | 亚洲精品区一区二区三区四 | 69网站在线观看 | 亚洲视频黄 | 一区二区三区视频在线观看 | 亚洲在线免费观看 | 亚洲爽爽 | 国产精品久久久久久久毛片 | 美美女高清毛片视频免费观看 | 韩日一区二区 | 国产色综合一区二区三区 | 日本欧美强乱视频在线 |