UVA10559 Blocks
来源:互联网 发布:拷贝软件下载 编辑:程序博客网 时间:2024/05/16 11:01
#include <iostream>#include <cstdio>#include <algorithm>#include <cstring>using namespace std;const int maxn=200+10;int n,A[maxn],d[maxn][maxn][maxn];int dp(int i,int j,int k)//表示对区间[i,j]后面还跟了k个和A[j]相同颜色的方块{ if(i>j)return 0; int& ans=d[i][j][k]; if(ans>=0)return ans; int p=j; while(p>=i&&A[p]==A[j])p--;// p++; ans=dp(i,p-1,0)+(j-p+1+k)*(j-p+1+k);//直接消去这一段 for(int q=i;q<p;q++)// { if(A[q]==A[j]&&A[q]!=A[q+1]) { ans=max(ans,dp(q+1,p-1,0)+dp(i,q,j-p+1+k)); //先消去[q+1,p-1]这一段q+1,p-1不同于j,因为后来消去也没有好处;然后还剩下一段接着处理。 } } return ans;}int main(){ int T; scanf("%d",&T); for(int kase=1;kase<=T;kase++) { scanf("%d",&n); for(int i=0;i<n;i++)scanf("%d",&A[i]); memset(d,-1,sizeof(d)); printf("Case %d: %d\n",kase,dp(0,n-1,0)); } return 0;}
0 0
- uva10559 Blocks
- UVA10559 Blocks
- UVA10559 Blocks
- uva10559
- blocks
- Blocks
- Blocks
- Blocks
- Blocks
- Blocks
- Blocks
- Blocks
- 例题9-27 方块消除 UVa10559
- 15.2 Blocks
- Delimiting Blocks
- Code::Blocks
- Code::Blocks
- poj2363-blocks
- CSAPP 实验一lab1 fitsBits
- 开博第一篇! 定向:压缩感知。
- java web 开发资料链接
- POJ 2115- C Looooops(扩展欧几里德)
- mysql 解决 ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)
- UVA10559 Blocks
- 解决JAVA字符串长度与数据库字符串长度不一致问题
- OSS实现多文件多线程的断点上传(java)
- 【算法笔记】数据结构(一)
- asp.net登录 用Forms身份验证和基于角色的分目录访问
- 黑马程序员——正则表达式
- php学习随记1
- PHP fsockopen模拟发送post set请求
- 初识Java