Concert Tour(Uvalive 6853)
生活随笔
收集整理的這篇文章主要介紹了
Concert Tour(Uvalive 6853)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
http://acm.hnu.cn/online/?action=problem&type=show&id=13362&courseid=0
或者是http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=79619
題目很長= =廢話挺多。
3 3 4 1 3 20 40 50 20 1 2 20 50 50 1 0 10 10 10 0 10 10 10 0 3 3 20 20 20 20 20 20 20 20 20 0 20 40 20 0 40 40 10 0 2 4 10 20 10 20 20 10 20 10 0 5 5 0看這組樣例= =
3表示測試樣例,3,4 表示3個城市,4場音樂會
下面有3行4列,每一行表示4場演唱會在該城市演唱時的的預期收入,下面有3行3列,分別表示城市移動的代價,比如0 10 10表示從1-1是0,1-2是10,1-3是10。。。。分析完題意,其實是個dp,然后我自己認為這是個背包模型 #include<stdio.h> #include<string.h> #include<algorithm> #include<algorithm> using namespace std; long long dp[105][105]; long long map[105][105]; long long d[105][105]; int main() {int t,n,m;scanf("%d",&t);while(t--){memset(dp,0,sizeof(dp));memset(map,0,sizeof(map));memset(d,0,sizeof(d));scanf("%d%d",&n,&m);for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){scanf("%d",&map[i][j]);}} for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){scanf("%d",&d[i][j]);}}for(int i=1;i<=m;i++){for(int j=1;j<=n;j++){for(int k=1;k<=n;k++){dp[i][j]=max(dp[i][j],dp[i-1][k]+map[j][i]-d[k][j]);}}}long long ans=0;for(int i=1;i<=n;i++){ans=max(ans,dp[m][i]);}printf("%lld\n",ans);} return 0; }
?
轉載于:https://www.cnblogs.com/NaCl/p/4718186.html
總結
以上是生活随笔為你收集整理的Concert Tour(Uvalive 6853)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Codeforces 235B Let'
- 下一篇: 由最小生成树算法改到最短路径算法代码--