题意:把长度为n的序列分成k个m长的连续小序列,这些连续小序列的和最大是多少。

解法:显然DP。

定义: dp[i][j] 为前 i 个元素分成j个m端,且 i 是第j个的末尾的最大和。

那么有: dp[i][j] = max(dp[i-1][j], dp[i-m][j-1]+sum[i]-sum[i-m])

5000*5000的空间,是有点大。。

代码:

#include <iostream>
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <cmath>
#include <algorithm>
#define lll __int64
using namespace std;lll dp[5002][5001];
lll a[5002],sum[5003];int main()
{int n,m,k;int i,j;while(scanf("%d%d%d",&n,&m,&k)!=EOF){sum[0] = 0;for(i=1;i<=n;i++){scanf("%I64d",&a[i]);sum[i] = sum[i-1]+a[i];}for(i=0;i<=n;i++)for(j=0;j<=k;j++)dp[i][j] = 0;for(i=m;i<=n;i++){dp[i][0] = max(dp[i][0],dp[i-1][0]);for(j=1;j<=k;j++){dp[i][j] = max(dp[i][j],dp[i-1][j]);dp[i][j] = max(dp[i][j],dp[i-m][j-1]+sum[i]-sum[i-m]);}}cout<<dp[n][k]<<endl;}return 0;
}

View Code

转载于:https://www.cnblogs.com/whatbeg/p/3980745.html

Codeforces Round #267 Div2 C George and Job --DP相关推荐

  1. Codeforces Round #743 (Div. 2) E. Paint 区间dp + 暴力

    传送门 文章目录 题意: 思路: 题意: 给你一个有nnn个像素的图像,每个像素都有一个颜色aia_iai​,保证每种颜色的图像不会超过202020个.你现在每次可以选择一个颜色,并选择一段连续的像素 ...

  2. Codeforces Round #709 (Div. 1) C. Skyline Photo dp + 单调栈优化

    传送门 文章目录 题意: 思路: 题意: 思路: 首先一个非常明显的dpdpdp式子就是f[i]=max(f[j]+val(j+1,i))f[i]=max(f[j]+val(j+1,i))f[i]=m ...

  3. Codeforces Round #627 (Div. 3) E. Sleeping Schedule dp

    传送门 文章目录 题意: 思路: 题意: 给你一天hhh小时,初始时间是000,每天可以使时间+ai+a_i+ai​或者+ai−1+a_i-1+ai​−1,问最多可以让多少天的时间在[l,r][l,r ...

  4. Codeforces Round #717 (Div. 2) D(倍增dp)

    Codeforces Round #717 (Div. 2) D 题意:n个数 q个询问,每一个询问有l和r,问你l到r这段区间中最少能分成几段,每一段中的数都是互质的. 思路:首先预处理出每一个点向 ...

  5. codeforces Round#429 (Div2)

    2017-08-20 10:00:37 writer:pprp 用头文件#include <bits/stdc++.h>很方便 A. Generous Kefa codeforces 84 ...

  6. Codeforces Round#310 div2

    C题:这题说的是套娃,如果做题的时候知道是套娃,那就好理解多了 规则1:套娃A可以放到套娃B里面,当且仅当套娃B没有放在其他套娃里面 规则2:套娃A放在套娃B里面,且套娃B没有放在其他套娃里面,那么可 ...

  7. Codeforces Round #359 div2

    Problem_A(CodeForces 686A): 题意: \[ 有n个输入, +\space d_i代表冰淇淋数目增加d_i个, -\space d_i表示某个孩纸需要d_i个, 如果你现在手里 ...

  8. Codeforces Round 361 div2

    雪崩,全错掉了GG.前两道题相对之前的难度大一点啊,不过A题有个循环应该是从0开始而不是1开始这样的低级错误不应该犯.B题差不多是一个BFS,但是我当时始终绕着最短路径写来写去,一直各种TLE与WA. ...

  9. Codeforces Round #360(div2)

    考完试的晚上,打了场codeforces,主要感觉由于睡眠不够,最后差了点劲啊,C题基本上都过了,但忙中出错最后把数组调小易于debug后再提交又忘记改回来了,看到Runtime Error自己竟没反 ...

最新文章

  1. Python 字典的 使用
  2. python采集文章_八爪鱼采集器能取代python爬虫吗?
  3. 【C++算法与数据结构学习笔记------用循环数组实现队列】
  4. 并查集/poj1182 noi2001食物链eat
  5. c/c++如何正确使用结构体?
  6. linux上传文件到服务器
  7. boost::hana::extract用法的测试程序
  8. python log日志_python脚本攻略之log日志
  9. Springboot分层图解
  10. CISICO 路由器和交换机的基本配置命令
  11. redistemplate 设置失效时间_开发新技能之利用Redis高级用法监听过期键处理失效的订单...
  12. 整个行业都缺Web前端工程师,你还在问Web前端工作好找吗?
  13. mac 下安装java, jmeter, ant, jenkins,使用jmeter+ant+jenkins 接口测试集成工具,发送html报告到邮箱中
  14. java中ejb项目_创建EJB项目
  15. lazarus 中文教程_Lazarus中文版下载|Pascal编译器Lazarus下载 v1.6.0中文版(附使用教程)_星星软件园...
  16. img显示服务器本地图片,img显示服务器图片不显示
  17. 【pandas】 DataFrame缺失值的查找与填充
  18. 用水流的概念来玩硬件(三)----LDO与DCDC电源电路
  19. 第15节-热区Hot Spots | 剑雨Axure RP9系列【基础】
  20. cocos3.4 使用quic-src报错:duplicate symbol _MD5_Final in:

热门文章

  1. python numpy使用
  2. gometalinter代码检查
  3. golang中的strings.IndexAny
  4. muduo之Singleton
  5. 口语学习Day8:今天聊聊微信有关的英语总结!
  6. crackme之019
  7. sqlplus执行SQL文件
  8. Expert 诊断优化系列------------------透过等待看系统
  9. 参数处理:#{}与${}取值的区别
  10. [20180102]11g的V$SORT_USAGE视图.txt