聪明的kk
2014-06-29 14:07
127 查看
#include<iostream> #include<cstring> using namespace std; int max(int a,int b) { a=a>b? a:b; return a; } int main() { int n,m,i,j,a[23][23],dp[23][23]; while(cin>>n>>m){ memset(dp,0,sizeof(dp)); memset(a,0,sizeof(a)); for(i=1;i<=n;i++) for(j=1;j<=m;j++) cin>>a[i][j]; for(i=1;i<=n;i++){ for(j=1;j<=m;j++) dp[i][j]=max(dp[i-1][j]+a[i][j],dp[i][j-1]+a[i][j]); // } cout<<dp [m]<<endl; } return 0; }
总结:经典DP,数塔问题(多阶段决策求最优结果)(类似求最优路径,只是不用求出具体路径,只需求出最优路径的结果)画出dp[][]写写就一目了然了
由于 kk 只能向右或向下走,所以其状态转移方程是:dp[i][j]=max{ dp[i-1][j]+a[i][j], dp[i][j-1]+a[i][j] } dp[i][j] 表示当前的最优值(即从 [1,1] 到 [i,j] 的最优值)
相关文章推荐
- 第三届河南省大学生程序设计竞赛 聪明的“KK”
- NYOJ 171 聪明的kk
- 聪明的kk
- NYOJ 171 聪明的kk 【动态规划入门】
- 聪明的kk
- 聪明的kk【DFS】
- NYOJ-171 第三届河南省ACM竞赛 聪明的KK (简单的DP)
- nyoj 171 聪明的kk
- NYOJ 题目171 聪明的kk(动态规划)
- nyoj171聪明的KK(dp动态规划)
- NYOJ 171 聪明的kk
- nyoj 171 聪明的kk 第三届河南省赛
- NYoj 171 聪明的kk
- NYOJ171. 聪明的kk(二维DP)
- NYOJ-171 聪明的kk
- 聪明的kk 分类: 动态规划 2014-11-01 15:54 85人阅读 评论(0) 收藏
- 聪明的kk
- 聪明的kk
- NYOJ——聪明的kk
- (精)聪明的kk(动态规划)