luoguP1725 琪露诺 单调队列
#include<cstdio>
#include<deque>
#include<algorithm>
using namespace std;
const int maxn = 400000+3;
const long long inf = -1000000000;
int n,l,r, w[maxn];
long long d[maxn];
struct Node{
int pos;
long long val;
Node(int pos=0,long long val=0):pos(pos),val(val){}
};
deque<Node>Q;
inline void update(int cur)
{
while(!Q.empty() && Q.front().pos < cur )Q.pop_front();
}
inline void insert_x(Node a)
{
while(!Q.empty() && Q.front().val <= a.val)Q.pop_back();
Q.push_back(a);
}
int main(){
//freopen("in.txt","r",stdin);
long long ans = inf;
scanf("%d%d%d",&n,&l,&r);
for(int i =0;i <= n;++i)scanf("%d",&w[i]);
d[0] = w[0];
for(int i = 1;i<=n+l;++i){
int left = i-r, right = i-l;
if(right < 0) d[i] = inf;
else{
update(left);
insert_x(Node(right,d[right]));
d[i] =(long long) w[i] + Q.front().val;
if(i>n) ans = max(ans, d[i]);
}
}
printf("%lld",ans);
return 0;
}
luoguP1725 琪露诺 单调队列的更多相关文章
- Luogu【P1725】琪露诺(单调队列,DP)
本文是笔者第二篇解题报告.从现在开始,会将练的一些题发到博客上并归类到"解题报告"标签中. 琪露诺是这样一道题 这道题可以用纯DP做,但是据说会超时.(为什么?看起来过河这题比它数 ...
- 洛谷P1725琪露诺(单调队列优化dp)
P1725 琪露诺 题目描述 在幻想乡,琪露诺是以笨蛋闻名的冰之妖精.某一天,琪露诺又在玩速冻青蛙,就是用冰把青蛙瞬间冻起来.但是这只青蛙比以往的要聪明许多,在琪露诺来之前就已经跑到了河的对岸.于是琪 ...
- P1725 琪露诺(单调队列优化)
描述:https://www.luogu.com.cn/problem/P1725 小河可以看作一列格子依次编号为0到N,琪露诺只能从编号小的格子移动到编号大的格子.而且琪露诺按照一种特殊的方式进行移 ...
- LuoguP1725 琪露诺 (动态规划)
\(单调队列\) 或 \(堆\) 优化 #include <iostream> #include <cstdio> #include <cstring> #incl ...
- 洛谷P1725--琪露诺(单调队列)
https://www.luogu.org/problemnew/show/P1725 关于滑动窗口的解释https://www.cnblogs.com/albert67/p/10449039.htm ...
- P1725 琪露诺
P1725 琪露诺 单调队列优化dp 对于不是常数转移的dp转移,我们都可以考虑单调队列转移 然而我们要把数组开大 #include<cstdio> #include<algorit ...
- 「LuoguP1725」琪露诺(dp 单调队列
题目描述 在幻想乡,琪露诺是以笨蛋闻名的冰之妖精. 某一天,琪露诺又在玩速冻青蛙,就是用冰把青蛙瞬间冻起来.但是这只青蛙比以往的要聪明许多,在琪露诺来之前就已经跑到了河的对岸.于是琪露诺决定到河岸去追 ...
- 【洛谷】【动态规划+单调队列】P1725 琪露诺
[题目描述:] 在幻想乡,琪露诺是以笨蛋闻名的冰之妖精. 某一天,琪露诺又在玩速冻青蛙,就是用冰把青蛙瞬间冻起来.但是这只青蛙比以往的要聪明许多,在琪露诺来之前就已经跑到了河的对岸.于是琪露诺决定到河 ...
- P1725 琪露诺 题解(单调队列)
题目链接 琪露诺 解题思路 单调队列优化的\(dp\). 状态转移方程:\(f[i]=max{f[i-l],f[i-l+1],...,f[i-r-1],f[i-r]}+a[i]\) 考虑单调队列优化. ...
随机推荐
- Spring Boot访问mysql(JPA方式)最简单配置
0.先推荐一个工具--lombok,pom文件如下: <dependency> <groupId>org.projectlombok</groupId> <a ...
- 理解linux安装软件
http://www.codecoffee.com/tipsforlinux/articles/27.html -------------------------------------------- ...
- HDU 5392 Infoplane in Tina Town
Infoplane in Tina Town Time Limit: 14000/7000 MS (Java/Others) Memory Limit: 524288/524288 K (Jav ...
- ACdream 1112 Alice and Bob (博弈&&素数筛选优化)
题目链接:传送门 游戏规则: 没次能够将一堆分成两堆 x = a*b (a!=1&&b!=1)x为原来堆的个数,a,b为新堆的个数. 也能够将原来的堆的个数变成原来堆的约数y.y!=x ...
- 《python源代码剖析》笔记 Python虚拟机框架
本文为senlie原创,转载请保留此地址:http://blog.csdn.net/zhengsenlie 1. Python虚拟机会从编译得到的PyCodeObject对象中依次读入每一条字节码指令 ...
- VIM 移动
基础 字符移动 k 上移 k h 左移 h l l 右移 j j 下移 你也可以使用键盘上的方向键来移动,但这么做h j k l的存在就失去了意义 之所以使用h j k l来控制方向,其主要目的是让你 ...
- Get-Acl 查看文件权限
https://blogs.msmvps.com/erikr/2007/09/26/set-permissions-on-a-specific-service-windows/ Get-Acl .\L ...
- nyoj--1100--WAJUEJI which home strong!(bfs)
WAJUEJI which home strong! 时间限制:1000 ms | 内存限制:65535 KB 难度:2 描述 在一个山沟里,姐弟俩同时考上了大学.但由于家里拮据,所以这并不是什么 ...
- P3387 【模板】缩点 tarjan
虽说是模板题,但是竟然中间有dp的部分...先tarjan缩点,重新建图.然后记忆化搜索,搜索dag中的最小环. 题干: 题目背景 缩点+DP 题目描述 给定一个n个点m条边有向图,每个点有一个权值, ...
- 关于逆元&&lucas定理
lucas是求组合数C(m,n)%p,有一个公式:C(m,n) = C(m/p,n/p)*C(m%p,n%p). (a*b)%c==a%c*b%c,但是(a/b)%c!=a%c/b%c,所以我们要算b ...