USACO16OPEN_248&&USACO16OPEN_262144_KEY
这道题比较水,设f[i][j]表示i~j区间合并的最大值。
#include <cstdio>
#define max(a,b) a>b?a:b
using namespace std;
int N,x,f[][],ans;
int main(){
scanf("%d",&N);for(int i=;i<=N;i++)scanf("%d",&x),f[i][i]=x,ans=max(ans,x);
for(int i=N-;i>;i--)
for(int j=i+;j<=N;j++)
for(int k=i;k<j;k++)
if(f[i][k]==f[k+][j]){
f[i][j]=max(f[i][k]+,f[i][j]);
ans=max(ans,f[i][j]);
}
printf("%d",ans);
return ;
}
水
但这道题目还有扩大数据范围后的做法:
仔细观察方程:
f[i][j]=max(f[i][k]+,f[i][j]);
我们设的是i~j区间的最大值,这里有个巧妙的转化,设f[i][j]为j开始最大值达到i的右边界。

#include <cstdio>
using namespace std;
int N,x,f[][],ans;
int main(){
scanf("%d",&N);for(int i=;i<=N;i++)scanf("%d",&x),f[x][i]=i;
for(int i=;i<=;i++)
for(int j=;j<=N;j++){
if(!f[i][j]&&f[i-][j])f[i][j]=f[i-][f[i-][j]+];
if(f[i][j])ans=i;
}
printf("%d",ans);
return ;
}
数据扩大
USACO16OPEN_248&&USACO16OPEN_262144_KEY的更多相关文章
随机推荐
- 全链路实践Spring Cloud 微服务架构
Spring Cloud 微服务架构全链路实践Spring Cloud 微服务架构全链路实践 阅读目录: 网关请求流程 Eureka 服务治理 Config 配置中心 Hystrix 监控 服务调用链 ...
- Python机器学习神器:sklearn&numpy
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMDE0MDMzOA==/font/5a6L5L2T/fontsize/400/fill/I0JBQk ...
- 八.安装Nginx
http://blog.csdn.net/grhlove123/article/details/47834673
- Lambda使用
说明 本文内容来自 [Java8 In Action] 一书 四种方法引用类型 类型 示例 引用静态方法 ContainingClass::staticMethodName 引用某个对象的实例方法 c ...
- 关于iOS 3D touch 指纹验证的随笔
file:///Users/OWen/Desktop/3DTouch.png 随着iOS系统不断的更新迭代,苹果总会推出一些新的功能,今天就研究了一下iOS8之后推出的指纹验证的功能,然后写了一个小d ...
- 【题解】洛谷P1065 [NOIP2006TG] 作业调度方案(模拟+阅读理解)
次元传送门:洛谷P1065 思路 简单讲一下用到的数组含义 work 第i个工件已经做了几道工序 num 第i个工序的安排顺序 finnish 第i个工件每道工序的结束时间 need 第i个工件第j道 ...
- C#的常用类
BitConverter类:用于将源类型转换成字节数组,或者将字节数组转换成目标类型.在解决不同设备之间产生的大小端问题时,经常使用. Convert类:用于基本数据类型(包括Boolean/Byte ...
- ElasticSearch的配置
- 【js】数组添加与删除
做个表格,就会容易记忆四种方法. 返回值 是否改变数组长度 位置 功能 push() 改变数组的长度 是 末位 添加 unshift() 改变数组的长度 是 首位 添加 pop( ...
- MySql is marked as crashed and should be repaired问题
在一次电脑不知道为什么重启之后数据库某表出现了 is marked as crashed and should be repaired这个错误,百度了一下,很多都是去找什么工具然后输入命令之类的,因为 ...