hdu 2571 动态规划
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hdu 2571 动态规划相关的知识,希望对你有一定的参考价值。
简单的动态规划
#include<cstdio> #include<cstring> #define Max(a,b) (a>b?a:b) int dp[21][1001]; int map[21][1001]; int main() { int t; scanf("%d",&t); while(t--) { int m,n; scanf("%d%d",&n,&m); for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) { scanf("%d",&map[i][j]); dp[i][j]=-101; } dp[1][1]=map[1][1]; for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) { if(i==1&&j==1) continue; else if(i==1&&j>1) { dp[i][j]=dp[i][j-1]; for(int k=1;k<=m;k++) if(j%k==0) dp[i][j]=Max(dp[i][k],dp[i][j]); dp[i][j]+=map[i][j]; } else if(i>1&&j==1) dp[i][j]=dp[i-1][j]+map[i][j]; else { dp[i][j]=Max(dp[i-1][j],Max(dp[i][j],dp[i][j-1])); for(int k=1;k<=m;k++) if(j%k==0) dp[i][j]=Max(dp[i][k],dp[i][j]); dp[i][j]+=map[i][j]; } } printf("%d\n",dp[n][m]); } }
以上是关于hdu 2571 动态规划的主要内容,如果未能解决你的问题,请参考以下文章