Codeforces Round #267 Div2 C George and Job --DP
题意:把长度为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相关推荐
- Codeforces Round #743 (Div. 2) E. Paint 区间dp + 暴力
传送门 文章目录 题意: 思路: 题意: 给你一个有nnn个像素的图像,每个像素都有一个颜色aia_iai,保证每种颜色的图像不会超过202020个.你现在每次可以选择一个颜色,并选择一段连续的像素 ...
- 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 ...
- 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 ...
- Codeforces Round #717 (Div. 2) D(倍增dp)
Codeforces Round #717 (Div. 2) D 题意:n个数 q个询问,每一个询问有l和r,问你l到r这段区间中最少能分成几段,每一段中的数都是互质的. 思路:首先预处理出每一个点向 ...
- codeforces Round#429 (Div2)
2017-08-20 10:00:37 writer:pprp 用头文件#include <bits/stdc++.h>很方便 A. Generous Kefa codeforces 84 ...
- Codeforces Round#310 div2
C题:这题说的是套娃,如果做题的时候知道是套娃,那就好理解多了 规则1:套娃A可以放到套娃B里面,当且仅当套娃B没有放在其他套娃里面 规则2:套娃A放在套娃B里面,且套娃B没有放在其他套娃里面,那么可 ...
- Codeforces Round #359 div2
Problem_A(CodeForces 686A): 题意: \[ 有n个输入, +\space d_i代表冰淇淋数目增加d_i个, -\space d_i表示某个孩纸需要d_i个, 如果你现在手里 ...
- Codeforces Round 361 div2
雪崩,全错掉了GG.前两道题相对之前的难度大一点啊,不过A题有个循环应该是从0开始而不是1开始这样的低级错误不应该犯.B题差不多是一个BFS,但是我当时始终绕着最短路径写来写去,一直各种TLE与WA. ...
- Codeforces Round #360(div2)
考完试的晚上,打了场codeforces,主要感觉由于睡眠不够,最后差了点劲啊,C题基本上都过了,但忙中出错最后把数组调小易于debug后再提交又忘记改回来了,看到Runtime Error自己竟没反 ...
最新文章
- Python 字典的 使用
- python采集文章_八爪鱼采集器能取代python爬虫吗?
- 【C++算法与数据结构学习笔记------用循环数组实现队列】
- 并查集/poj1182 noi2001食物链eat
- c/c++如何正确使用结构体?
- linux上传文件到服务器
- boost::hana::extract用法的测试程序
- python log日志_python脚本攻略之log日志
- Springboot分层图解
- CISICO 路由器和交换机的基本配置命令
- redistemplate 设置失效时间_开发新技能之利用Redis高级用法监听过期键处理失效的订单...
- 整个行业都缺Web前端工程师,你还在问Web前端工作好找吗?
- mac 下安装java, jmeter, ant, jenkins,使用jmeter+ant+jenkins 接口测试集成工具,发送html报告到邮箱中
- java中ejb项目_创建EJB项目
- lazarus 中文教程_Lazarus中文版下载|Pascal编译器Lazarus下载 v1.6.0中文版(附使用教程)_星星软件园...
- img显示服务器本地图片,img显示服务器图片不显示
- 【pandas】 DataFrame缺失值的查找与填充
- 用水流的概念来玩硬件(三)----LDO与DCDC电源电路
- 第15节-热区Hot Spots | 剑雨Axure RP9系列【基础】
- cocos3.4 使用quic-src报错:duplicate symbol _MD5_Final in: