[BZOJ4580][Usaco2016 Open]248(dp)
来源:互联网 发布:mac类似于硕鼠的软件 编辑:程序博客网 时间:2024/06/07 05:45
题目描述
传送门
题解
设f(i,j)表示ij这一段区间合并成一个的最大值。不能合并成一个的都为-inf.
然后就可以dp了。。。
答案为max{f(i,j)},1<=i,j<=n.
可以发现这样做虽然有一些区间不合法,但是每一个可能的情况都会枚举到。
代码
#include<iostream>#include<cstring>#include<cstdio>using namespace std;#define N 305int n,inf,ans;int a[N],f[N][N];int main(){ scanf("%d",&n); memset(f,128,sizeof(f));inf=f[0][0]; for (int i=1;i<=n;++i) scanf("%d",&a[i]),f[i][i]=a[i]; for (int len=2;len<=n;++len) for (int l=1;l<=n-len+1;++l) { int r=l+len-1; for (int k=l;k<r;++k) if (f[l][k]!=inf&&f[k+1][r]!=inf) if (f[l][k]==f[k+1][r]) f[l][r]=f[l][k]+1; } for (int i=1;i<=n;++i) for (int j=i;j<=n;++j) ans=max(ans,f[i][j]); printf("%d\n",ans);}
0 0
- [BZOJ4580][Usaco2016 Open]248(dp)
- BZOJ4580: [Usaco2016 Open]248 dp
- BZOJ4580 [Usaco2016 Open]248
- BZOJ4580: [Usaco2016 Open]248
- 【BZOJ4580】[Usaco2016 Open]248【区间DP】【或 贪心】
- 【BZOJ4576】【BZOJ4580】【Usaco2016 Open】262144 贪心
- bzoj 4580: [Usaco2016 Open]248 (dp)
- [DP || 贪心 链表] BZOJ 4576 [Usaco2016 Open]262144 & BZOJ 4580 [Usaco2016 Open]248
- 4580: [Usaco2016 Open]248
- BZOJ4580 DP
- BZOJ 4580: [Usaco2016 Open]248
- bzoj 4580: [Usaco2016 Open]248
- [BZOJ4581][Usaco2016 Open]Field Reduction(dfs)
- bzoj4576【Usaco2016 Open】262144
- [Usaco2016 Open]Field Reduction
- BZOJ4586: [Usaco2016 Open]Landscaping
- bzoj4586: [Usaco2016 Open]Landscaping
- bzoj 4581: [Usaco2016 Open]Field Reduction (dfs)
- DQL、DML、DDL、DCL的概念与区别
- 枚举移除IoRegisterShutdownNotification
- OpenCV 3.00 + VS2010环境配置(DLL版本)
- 2016年上市新SUV斯柯达kodiaq大气造型
- hello the CSDN
- [BZOJ4580][Usaco2016 Open]248(dp)
- ScrollView置顶按钮
- ubuntu安装vnc,并解决没有桌面图标问题
- mysql的查询、子查询、连接查询、groud by分组查询
- .net文件下载中文文件名乱码的处理方法
- hdu 1081 To The Max 矩阵压缩
- Mysql编程之过程基本概念
- 探索undo一致性读
- 避免Android中Context引起的内存泄露