首页 > 其他分享 >单调队列优化DP

单调队列优化DP

时间:2022-11-17 20:33:55浏览次数:47  
标签:ch const 队列 ll long DP 单调 getchar

先存这里
理解了再继续编写

CF1077F2 Pictures with Kittens (hard version)


#include <bits/stdc++.h>
using namespace std;

typedef long long ll;
const ll N=5e3+10;
const ll inf=1e18;

ll read() {
	
	ll x=0,f=1;
	char ch=getchar();
	while(ch<48||ch>57) {
		if(ch=='-') f=-1;
		ch=getchar(); 
	}
	while(ch>=48&&ch<=57) {
		x=(x<<3)+(x<<1)+(ch^48);
		ch=getchar();
	}
	return x*f;
	
}

ll n,k,m;
ll a[N],ans=-1;
ll dp[N][N],q[N];

/*

dp[i][j]表示前i个数中选了j个,第i个必取,可得到的最大和 
dp[i][j]=max(dp[u][j-1]+a[i]); 

*/

int main() {
	
	n=read();
	k=read();
	m=read();
	
	for(ll i=0;i<=n;i++) {
		
		for(ll j=0;j<=m;j++) {
			
			dp[i][j]=-inf;
			
		}
		
	}
	
	for(ll i=1;i<=n;i++) {
		
		a[i]=read();
		
	}	
	
	dp[0][0]=0;
	for(ll j=1;j<=m;j++) {
		
		ll l=1,r=1;
		q[r]=0;
		for(ll i=1;i<=n;i++) {
			
			while(l<=r&&q[l]+k<i) l++;
			dp[i][j]=dp[q[l]][j-1]+a[i];
			while(l<=r&&dp[i][j-1]>=dp[q[r]][j-1]) r--;
			q[++r]=i;
			
		}
		
	}
	
	for(ll i=n-k+1;i<=n;i++) ans=max(ans,dp[i][m]);
	printf("%lld\n",ans);
	
	return 0;
}

标签:ch,const,队列,ll,long,DP,单调,getchar
From: https://www.cnblogs.com/Diamondan/p/16900835.html

相关文章

  • 黏包现象、struct模块和解决黏包问题的流程、UDP协议、并发编程理论、多道程序设计技
    目录黏包现象二、struct模块及解决黏包问题的流程三、粘包代码实战UDP协议(了解)并发编程理论多道技术进程理论进程的并行与并发进程的三状态黏包现象什么是粘包1.服务......
  • Java使用UDP协议进行通信的例子
    UDP是不可靠但是高效的一种传输协议,不管你接收端在不在,丢进去就行了。传输过程:发送端:/***发送端*1.使用DatagramSocket指定端口创建发送端*2.准备数据,转......
  • dp好题CF1183H Subsequences (hard version)
    CF1183HSubsequences(hardversion)考虑dp计算本质不同方案数dp[i][j]表示在前i个字符中,长度为j的本质不同的子串数跑pre[i]表示de字母出现的上一个位置pre数组我属......
  • WordPress编辑器支持ppt一键粘贴
    ​ ueditor粘贴不能粘贴word中的图片是一个很头疼的问题,在我们的业务场景中客户要求必须使用ueditor并且支持word的图片粘贴,因为这个需求头疼了半个月,因为前端方面因为安......
  • 黏包、udp协议、多道技术、进程并行与并发
    目录黏包现象struct模块黏包代码实战UDP协议(了解)并发编程理论多道技术进程理论进程的并行与并发进程的三状态黏包现象1.服务端连续执行三次recv2.客户端连续执行三次sen......
  • WordPress编辑器支持ppt一键导入
    ​ 当前功能基于PHP,其它语言流程大致相同 1.新增上传wordjson配置在ueditor\php\config.json中新增如下配置:     /* 上传word配置 */    "wordAction......
  • WordPress编辑器支持ppt一键上传
    ​ 百度ueditor新增的将word内容导入到富文本编辑框的功能怎么没有啊,...ueditor实现word文档的导入和下载功能的方法:1、UEditor没有提供word的导入功能,只能说是粘贴复......
  • WordPress编辑器支持ppt自动导入
    ​图片的复制无非有两种方法,一种是图片直接上传到服务器,另外一种转换成二进制流的base64码目前限chrome浏览器使用首先以um-editor的二进制流保存为例:打开umeditor.js,......
  • 792. 匹配子序列的单词数 ----- find()暴力、队列分桶查询、二分法哈希
    给定字符串s 和字符串数组 words,返回  words[i] 中是s的子序列的单词个数 。字符串的子序列是从原始字符串中生成的新字符串,可以从中删去一些字符(可以是none)......
  • WordPress编辑器支持ppt自动上传
    ​ 如何做到ueditor批量上传word图片?1、前端引用代码<!DOCTYPE html PUBLIC "-//W3C//DTDXHTML1.0Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml......