HDU 2571 命运 水DP
2012-03-12 17:35
337 查看
消极题解凑数= =
话说今天的水题有点多了= =
本来想用最短路做的,但是不想那么麻烦,滚动数组也不想用,能水就水吧。记得以前做过一道类似的,不过是走路方针可以斜线,飞跃什么的,各种神。不过是BFS+队列罢了+GCD 罢了罢了还是水,不说了....
#include<iostream>
#include<cstdio>
#include<string>
using namespace std;
int max( int a,int b ){ return a>b?a:b; }
int main()
{
int T;
scanf( "%d",&T );
while( T-- )
{
int n,c;
int value[22][1111];
int f[22][1111];
scanf( "%d %d",&n,&c );
for( int i=1;i<=n;i++ )
for( int j=1;j<=c;j++ )
{
scanf( "%d",&value[i][j] );
f[i][j]=-10000;
}
f[1][1]=value[1][1];
for( int i=1;i<=n;i++ )
for( int j=1;j<=c;j++ )
{
f[i][j+1]=max( f[i][j+1],f[i][j]+value[i][j+1] );
for( int k=j+j;k<=c;k+=j )
f[i][k]=max( f[i][k],f[i][j]+value[i][k] );
f[i+1][j]=f[i][j]+value[i+1][j];
}
printf( "%d\n",f
[c] );
}
return 0;
}
话说今天的水题有点多了= =
本来想用最短路做的,但是不想那么麻烦,滚动数组也不想用,能水就水吧。记得以前做过一道类似的,不过是走路方针可以斜线,飞跃什么的,各种神。不过是BFS+队列罢了+GCD 罢了罢了还是水,不说了....
#include<iostream>
#include<cstdio>
#include<string>
using namespace std;
int max( int a,int b ){ return a>b?a:b; }
int main()
{
int T;
scanf( "%d",&T );
while( T-- )
{
int n,c;
int value[22][1111];
int f[22][1111];
scanf( "%d %d",&n,&c );
for( int i=1;i<=n;i++ )
for( int j=1;j<=c;j++ )
{
scanf( "%d",&value[i][j] );
f[i][j]=-10000;
}
f[1][1]=value[1][1];
for( int i=1;i<=n;i++ )
for( int j=1;j<=c;j++ )
{
f[i][j+1]=max( f[i][j+1],f[i][j]+value[i][j+1] );
for( int k=j+j;k<=c;k+=j )
f[i][k]=max( f[i][k],f[i][j]+value[i][k] );
f[i+1][j]=f[i][j]+value[i+1][j];
}
printf( "%d\n",f
[c] );
}
return 0;
}
相关文章推荐
- HDU 2571 命运 (DP)
- HDU 2571 命运 DP 动态规划
- hdu 2571 命运(水DP)
- HDU(2571)——命运(简单dp)
- HDU 2571 命运 DP
- HDU 2571 命运 DP
- hdu 2571 命运(dp)
- HDU 2571 命运(简单经典DP)
- HDU 2571 命运(dp)
- HDU 2571 命运(dp)
- hdu 2571 命运(DP)
- HDU 2571 命运(dp)
- hdu 2571 命运 DP
- HDU dp 2571 命运
- [HDU] 2571命运 - 最基本的入门dp
- [HDU 2571 命运]简单DP
- HDU 2571 命运(DP)
- HDU ~ 2571 ~ 命运(DP)
- DP· HDU - 2571 ·命运
- HDU 2571 命运 (简单DP)