noip 2010 乌龟棋
2016-11-07 00:21
274 查看
很水的dp。
四位就够。
四位就够。
#include<cstdio> #include<algorithm> #include<cstring> #define int long long //by mars_ch using namespace std; int n,m; int a[355]; int num[5]; int f[45][45][45][45]; signed main() { scanf("%lld%lld",&n,&m); for(int i=1;i<=n;i++) { scanf("%lld",&a[i]); } for(int i=1;i<=m;i++) { int x; scanf("%lld",&x); num[x]++; } f[0][0][0][0]=a[1]; for(int i=0;i<=num[1];i++) { for(int j=0;j<=num[2];j++) { for(int k=0;k<=num[3];k++) { for(int l=0;l<=num[4];l++) { f[i+1][j][k][l]=max(f[i+1][j][k][l],f[i][j][k][l]+a[i+j*2+k*3+l*4+2]); f[i][j+1][k][l]=max(f[i][j+1][k][l],f[i][j][k][l]+a[i+j*2+k*3+l*4+3]); f[i][j][k+1][l]=max(f[i][j][k+1][l],f[i][j][k][l]+a[i+j*2+k*3+l*4+4]); f[i][j][k][l+1]=max(f[i][j][k][l+1],f[i][j][k][l]+a[i+j*2+k*3+l*4+5]); } } } } printf("%lld\n",f[num[1]][num[2]][num[3]][num[4]]); return 0; }
相关文章推荐
- (1652): [NOIP2010]乌龟棋
- NOIP2010 乌龟棋(多维DP)
- [NOIP2010]乌龟棋(DP)
- NOIP 提高组 2010 乌龟棋
- [NOIP2010]乌龟棋(DP)
- NOIP2010乌龟棋[DP 多维状态]
- 【洛谷1541】【CJOJ1087】【NOIP2010】乌龟棋
- 【NOIP2010提高组】乌龟棋(动态规划)
- NOIP2010提高组复赛 解题报告(C/C++)(机械翻译)(乌龟棋)(关押罪犯)(引水入城)
- [noip2010]乌龟棋
- NOIP2010 机器翻译 乌龟棋 关押罪犯
- noip2010 乌龟棋
- Noip 2010 解题报告(机器翻译,乌龟棋,关押罪犯,引水入城)
- NOIP提高组2010 乌龟棋
- NOIP2010乌龟棋
- 【NOIP2010】【P1317】乌龟棋
- NOIp2010 乌龟棋
- 【洛谷1541】【CJOJ1087】【NOIP2010】乌龟棋
- 【dp】NOIP2010提高组乌龟棋
- NOIP2010提高组乌龟棋 -SilverN