题目传送门

这道题比较水,设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的更多相关文章

随机推荐

  1. Shodan搜索引擎介绍

    from:http://www.exploit-db.com/wp-content/themes/exploit/docs/33859.pdf 0x00 概要 这篇文章可以作为渗透测试人员和安全工作者 ...

  2. UI层实现

    领域驱动设计实践 —— UI层实现   目录 1. User Interface 2. Controller 3.  DTO 4.  infrastructure层的公共组件 5. UI层类图 6. ...

  3. mongodb分片集群(无副本集)搭建

    数据分片节点#192.168.114.26#mongo.cnfport=2001dbpath=/data/mongodb/datalogpath=/data/mongodb/log/mongodb.l ...

  4. HTTP 中状态码 302的使用场景

    一直都知道302是临时重定向,可是不懂为什么要用这个,直到看到了这个 这样就可以用一个URL,来访问其他的URL上的资源了,非常的nice

  5. 阅读HandlerInterceptor接口源码的理解

    一.阅读接口类注释 我先理解的方法,方法都看懂了类注释自然而然明白了.所以此处略. 二.阅读preHandle()方法注释 Intercept the execution of a handler. ...

  6. django 静态文件

    django 1.8版本以上 django 静态文件配置. 小作之前, 一直觉得django的静态文件配置非常的麻烦. 1. 要设置url(r'^static/(?P<path>.*)&a ...

  7. 阿里云maven仓库镜像mirror,速度超快

    <mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http:/ ...

  8. 使用jmeter进行简单的压测

    安装下载 前往官网下载,[地址] 环境 需要java环境,此处略 最好对jmeter配置下环境变量,方便打开,此处略 运行 启动jmeter 进入到bin目录,输入   ./jmeter    启动 ...

  9. 如何将编写好的CS文件做成exe可执行文件

    编译好的控制台CS文件: cs文件单独拿出来放到F盘目录中 打开命令提示CMD: 执行下面语句即可在F盘目录中看到生成的exe文件,windows系统下双击就可运行: C:\Windows\Micro ...

  10. git提交项目

    https://www.cnblogs.com/java-maowei/p/5950930.html