$dp$

凉凉.jpg

看到题就想决策单调性,想了一个多小时也没想出来,排名$200+$,$gg$

事实上,我们只可能每$c$个或每一个分一段,假设我们分了一段长为$c$,如果添加一个新元素,如果新的比老的大,没影响,如果小,那么亏损,所以不如不加

 #include <cstdio>
#include <cstring>
#include <algorithm>
#include <iostream>
using namespace std;
typedef long long ll;
const int N = 1e5 + ;
int n, c;
ll ans;
int Log[N];
ll a[N][], dp[N];
ll rmq(int l, int r) {
if(l > r) {
swap(l, r);
}
int x = Log[r - l + ];
return min(a[l][x], a[r - ( << x) + ][x]);
}
int main() {
scanf("%d%d", &n, &c);
for(int i = ; i <= n; ++i) {
scanf("%lld", &a[i][]);
ans += a[i][];
}
for(int i = ; i <= n; ++i) {
Log[i] = Log[i >> ] + ;
}
for(int j = ; j <= ; ++j) {
for(int i = ; i + ( << j) - <= n; ++i) {
a[i][j] = min(a[i][j - ], a[i + ( << (j - ))][j - ]);
}
}
for(int i = c; i <= n; ++i) {
dp[i] = max(dp[i - ], dp[i - c] + rmq(i, i - c + ));
}
cout << ans - dp[n];
return ;
}

904E的更多相关文章

  1. ubuntu系统下adb连接手机

    发现Ubuntu12.04不能连接小米开发,adb devices不能看到设备!  搞了一个上午才搞成功! 小米手机利用USB连接到Ubuntu 12.04系统.运行下面的命令: longskywan ...

  2. Ubuntu12.04不能连接小米开发(转)

    发现Ubuntu12.04不能连接小米开发,adb devices不能看到设备!  搞了一个上午才搞成功! 小米手机利用USB连接到Ubuntu 12.04系统.运行下面的命令: longskywan ...

  3. 在GNU Linux中怎样得到一个进程当前的流量

    /*********************************************************************  * Author  : Samson  * Date   ...

随机推荐

  1. [转]XMPP基本概念--节(stanza)

    本文介绍在XMPP通信中最核心的三个XML节(stanza).这些节(stanza)有自己的作用和目标,通过组织不同的节(stanza),就能达到我们各种各样的通信目的. 首先我们来看一段XMPP流. ...

  2. python 基础 1.6 python 帮助信息及数据类型间相互转换

      一. 帮助信息   # dir() 方法  查看函数的方法   # help()   # type() 查看类型   name = raw_input('please input you name ...

  3. delphi视频聊天

    用Delphi开发视频聊天软件 一.引言 我们知道视频聊天软件的关键技术在于采集视频,并实时传输给聊天软件在线的人.对于视频的采集,这里采用微软公司的关于数字视频的一个软件包VFW(Video for ...

  4. 基于EasyNVR二次开发实现自己的摄像机IPC/NVR无插件化直播解决方案

    在之前的博客中<基于EasyNVR实现RTSP/Onvif监控摄像头Web无插件化直播监控>,我们已经比较多的描述EasyNVR所实现的功能,这些也在方案地址:http://www.eas ...

  5. 使用OpenSessionInViewFilter的注意事项

    假设在你的应用中Hibernate是通过spring 来管理它的session.如果在你的应用中没有使用OpenSessionInViewFilter或者OpenSessionInViewInterc ...

  6. protobuf + maven 爬坑记

    疯狂创客圈 死磕Netty 亿级流量架构系列之20 [博客园 总入口 ] 本文说明 本篇是 netty+Protobuf 整合实战的 第一篇,完成一个 基于Netty + Protobuf 实战案例. ...

  7. RDS for MySQL 删除数据后空间没有减少处理方法

    公司的程序和数据库部署在阿里云上,数据库使用的是阿里云的RDS,这天,经理在开发群中发了一个信息: 您的RDS实例rm********0oq的磁盘在过去一周平均使用率已超过80.%,建议您对实例规格进 ...

  8. ABAP upload file(*.txt *.csv *.xls)

    转自:http://blog.csdn.net/jy00873757/article/details/8534492 在SAP我们经常会用到*.txt, *.csv, *.xls三种文件格式 *.TX ...

  9. fusioncharts 用法实例

    支持xml格式和json格式的数据. 用法很简单. 1.需要引入FusionCharts.js. 2.html中定义个id="chart"的div <div id=" ...

  10. 【linux】如何给sudo的root设置环境变量

    如果系统不能通过root登陆,而是需要使用其他用户sudo的方式登陆root,那么root的环境变量很难设置,修改/etc/profile也没有用.可以通过下面这个方式解决 修改sudoer的配置文件 ...