传送门

分析

一眼看去我们自然会想到dp[i][j][k]表示区间[i,j]中选k个子段的最大值。然后我们考虑降去一维。我们设dp[i][j]表示考虑了前i个数,在选了a[i]的情况下共有j个子段的最大值,于是可以列出转移方程式dp[i][j]=Max{dp[i-1][j],Max{dp[k][j-1](k<i)}}+a[i],但是我们发现空间和时间都会爆炸,空间问题我们可以用滚动数组来进行解决,而对于时间问题我们可以记录一个dpmax[i][j]表示Max{dp[k][j](k<=i)}的值,注意这个dpmax数组同样也要滚动,于是我们就可以将转移复杂度变到O(1),在适当剪枝就可以AC啦。

代码

#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<algorithm>
#include<cctype>
#include<cmath>
#include<cstdlib>
#include<queue>
#include<ctime>
#include<vector>
#include<set>
#include<map>
#include<stack>
using namespace std;
long long dp[][],dpmax[][],a[],cnt,sum;
int main(){
long long n,m,i,j,k;
scanf("%lld%lld",&n,&m);
for(i=;i<=n;i++)scanf("%lld",&a[i]);
long long now=;
for(i=;i<=n;i++){
now^=;
memset(dp[now],,sizeof(dp[now]));
for(j=;j<=min(i,m);j++){
dp[now][j]=max(dp[now^][j],dpmax[now^][j-]);
dp[now][j]+=a[i];
dpmax[now][j]=max(dp[now][j],dpmax[now^][j]);
}
}
printf("%lld\n",dpmax[now][m]);
return ;
}

51NOD1052 最大M字段和的更多相关文章

  1. UniEAP V4 WorkShop用户手册

    版权声明<UniEAP V4 WorkShop用户手册>的版权归东软集团(大连)有限公司所有.未经东软集团(大连)有限公司的书面准许,不得将本手册的任何部分以任何形式.采用任何手段(电子的 ...

  2. XStream将java对象转换为xml时,对象字段中的下划线“_”,转换后变成了两个的解决办法

            在前几天的一个项目中,由于数据库字段的命名原因 其中有两项:一项叫做"市场价格"一项叫做"商店价格" 为了便于区分,遂分别将其命名为market ...

  3. MySQL设置字段的默认值为当前系统时间

    问题产生: 当我们在对某个字段进行设置时间默认值,该默认值必须是的当前记录的插入时间,那么就将当前系统时间作为该记录创建的时间. 应用场景: 1.在数据表中,要记录每条数据是什么时候创建的,应该由数据 ...

  4. Django admin定制化,User字段扩展[原创]

    前言 参考上篇博文,我们利用了OneToOneField的方式使用了django自带的user,http://www.cnblogs.com/caseast/p/5909248.html , 但这么用 ...

  5. 使用Expression实现数据的任意字段过滤(1)

    在项目常常要和数据表格打交道. 现在BS的通常做法都是前端用一个js的Grid控件, 然后通过ajax的方式从后台加载数据, 然后将数据和Grid绑定. 数据往往不是一页可以显示完的, 所以要加分页: ...

  6. 说说BPM数据表和日志表中几个状态字段的详细解释

    有个客户说需要根据这些字段的值作为判断条件做一些定制化需求,所以需要知道这些字段的名词解释,以及里面存储的值具体代表什么意思 我只好为你们整理奉上这些了! Open Work Sheet  0 Sav ...

  7. [DS] 标记字段

    标记字段 代码中有时候有这种需求:需要一个公共访问的标记字段,以下称为标记字段. 下面是案例: 一个订单详情页面,如果页面在显示中,程序中其它地方需要访问这个"正在查看中"的订单信 ...

  8. 我的MYSQL学习心得(三) 查看字段长度

    我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...

  9. [源码]Literacy 快速反射读写对象属性,字段

    Literacy 说明 Literacy使用IL指令生成方法委托,性能方面,在调用次数达到一定量的时候比反射高很多 当然,用IL指令生成一个方法也是有时间消耗的,所以在只使用一次或少数几次的情况,不但 ...

随机推荐

  1. Memorial for Nanjing victims today 南京大屠杀死难者公祭仪式今于南京举行 勿忘国耻,活捉小*日*本。

    China will hold an annual memorial for the victims of the Nanjing Massacre today in the eastern city ...

  2. linux shell 学习笔记--比较操作

    整数比较 -eq 等于,如:if [ "$a" -eq "$b" ] -ne 不等于,如:if [ "$a" -ne "$b&qu ...

  3. 如何用visual studio2013编写简单C语言程序

    vc++6.0 作为经典版本,虽然已经几乎淘汰,但还是有很多的初学者在使用.但当他们使用vs2013时会发现界面和操作和vc++6.0有了极大的不同,不知该如何 操作.随着vs2013的普及,更多人使 ...

  4. mysqldumpslow使用说明。

    mysql慢查询日志分析工具mysqldumpslow. 常用的方法: mysqldumpslow -s c -t 10 /var/run/mysqld/mysqld-slow.log # 取出使用最 ...

  5. Spring Boot同时开启HTTP和HTTPS服务

    由于Spring Boot中通过编码开启HTTPS服务比较复杂,所以官方推荐通过编码开启HTTP服务,而通过配置开启HTTPS服务. Spring Boot的application.yml中添加如下配 ...

  6. wordpress 插件 汉化

    http://blog.wpjam.com/article/localizing-a-wordpress-plugin-using-poedit/ 翻译或者说本地化 WordPress 插件和主题可以 ...

  7. 19年博客flag

    目录 为什么没有年终总结 为什么今天更新了 19年博客flag 个人博客链接:我在马路边 https://hhongwen.cn 更好的阅读体验点击查看原文:19年博客flag 原创博客,转载请注明出 ...

  8. loj 6084.「美团 CodeM 资格赛」跳格子

    题目: link 题解: 尽量走\(a\). 只要保证走\(a\)后到达的点一定可以到终点就可以走. 所以从终点开始\(dfs\)出所有能够到达终点的点. 然后再从起点开始\(dfs\)路径即可. 如 ...

  9. queue容器

    一.queue特性 queue是一种先进先出(first in first out,FIFO)的数据结构,它有两个口,数据元素只能从一个口进,从另一个口出.队列只允许从队尾加入元素,队头删除元素,必须 ...

  10. centos安装yum源

    网易(163)yum源是国内最好的yum源之一 ,无论是速度还是软件版本,都非常的不错,将yum源设置为163yum,可以提升软件包安装和更新的速度,同时避免一些常见软件版本无法找到.具体设置方法如下 ...