https://www.luogu.org/problem/show?pid=1725

题目描述

在幻想乡,琪露诺是以笨蛋闻名的冰之妖精。某一天,琪露诺又在玩速冻青蛙,就是用冰把青蛙瞬间冻起来。但是这只青蛙比以往的要聪明许多,在琪露诺来之前就已经跑到了河的对岸。于是琪露诺决定到河岸去追青蛙。小河可以看作一列格子依次编号为0到N,琪露诺只能从编号小的格子移动到编号大的格子。而且琪露诺按照一种特殊的方式进行移动,当她在格子i时,她只会移动到i+L到i+R中的一格。你问为什么她这么移动,这还不简单,因为她是笨蛋啊。每一个格子都有一个冰冻指数A[i],编号为0的格子冰冻指数为0。当琪露诺停留在那一格时就可以得到那一格的冰冻指数A[i]。琪露诺希望能够在到达对岸时,获取最大的冰冻指数,这样她才能狠狠地教训那只青蛙。但是由于她实在是太笨了,所以她决定拜托你帮它决定怎样前进。开始时,琪露诺在编号0的格子上,只要她下一步的位置编号大于N就算到达对岸。

输入输出格式

输入格式:

第1行:3个正整数N, L, R

第2行:N+1个整数,第i个数表示编号为i-1的格子的冰冻指数A[i-1]

输出格式:

一个整数,表示最大冰冻指数。保证不超过2^31-1

输入输出样例

输入样例#1:

5 2 3
0 12 3 11 7 -2
输出样例#1:

11

说明

对于60%的数据:N <= 10,000

对于100%的数据:N <= 200,000

对于所有数据 -1,000 <= A[i] <= 1,000且1 <= L <= R <= N

设f[i]表示到达i点可获得的最大冰冻指数

则f[i]=max(f[j]+a[i],(i-r<=j<=i-l)

 #include <cstdio>

 #define max(a,b) (a>b?a:b)
inline void read(int &x)
{
x=; register bool __=; register char ch=getchar();
for(; ch>''||ch<''; ch=getchar()) if(ch=='-') __=;
for(; ch>=''&&ch<=''; ch=getchar()) x=x*+ch-'';
x=__?((~x)+):x;
}
const int N();
int n,l,r,a[N],f[N],ans; int Presist()
{
read(n),read(l),read(r);
for(int i=; i<=n; ++i ) read(a[i]);
for(int i=; i<l; ++i) f[i]=;
for(int i=l; i<=n+r; ++i)
{
for(int j=max(,i-r); j<=i-l; ++j)
f[i]=max(f[i],f[j]+a[i]);
}
for(int i=n; i<=n+r; ++i) ans=max(ans,f[i]);
printf("%d\n",ans);
return ;
} int Aptal=Presist();
int main(int argc,char*argv[]){;}

60分

单调队列优化(数组要开大点,不然莫名WA)

 #include <cstdio>

 #define max(a,b) (a>b?a:b)
inline void read(int &x)
{
x=; register bool __=; register char ch=getchar();
for(; ch>''||ch<''; ch=getchar()) if(ch=='-') __=;
for(; ch>=''&&ch<=''; ch=getchar()) x=x*+ch-'';
x=__?((~x)+):x;
}
const int N();
int n,l,r,a[N],f[N];
int que[N<<],head=,tail,ans; int Presist()
{
read(n),read(l),read(r);
for(int i=; i<=n; ++i ) read(a[i]);
que[++tail]=;
for(int i=l; i<=n+r; ++i)
{
for(; head<=tail&&f[i-l]>=f[que[tail]]; ) tail--;
que[++tail]=i-l;
for(; head<=tail&&que[head]<i-r; ) head++;
f[i]=f[que[head]]+a[i];
}
for(int i=n; i<=n+r; ++i) ans=max(ans,f[i]);
printf("%d\n",ans);
return ;
} int Aptal=Presist();
int main(int argc,char*argv[]){;}

洛谷—— P1725 琪露诺的更多相关文章

  1. 洛谷P1725琪露诺(单调队列优化dp)

    P1725 琪露诺 题目描述 在幻想乡,琪露诺是以笨蛋闻名的冰之妖精.某一天,琪露诺又在玩速冻青蛙,就是用冰把青蛙瞬间冻起来.但是这只青蛙比以往的要聪明许多,在琪露诺来之前就已经跑到了河的对岸.于是琪 ...

  2. 洛谷 P1725 琪露诺 题解

    P1725 琪露诺 题目描述 在幻想乡,琪露诺是以笨蛋闻名的冰之妖精. 某一天,琪露诺又在玩速冻青蛙,就是用冰把青蛙瞬间冻起来.但是这只青蛙比以往的要聪明许多,在琪露诺来之前就已经跑到了河的对岸.于是 ...

  3. 洛谷P1725 琪露诺

    传送门啦 本人第一个单调队列优化 $ dp $,不鼓励鼓励? 琪露诺这个题,$ dp $ 还是挺好想的对不,但是暴力 $ dp $ 的话会 $ TLE $ ,所以我们考虑用单调队列优化. 原题中说她只 ...

  4. 洛谷P1725 琪露诺 (单调队列/堆优化DP)

    显然的DP题..... 对于位置i,它由i-r~i-l的位置转移过来,容易得到方程 dp[i]=dp[i]+max(dp[i−r],...,dp[i−l]). 第一种:n2的暴力,只能拿部分分. 1 ...

  5. [洛谷P3693]琪露诺的冰雪小屋

    题目大意:琪露诺的冰雪小屋,我做的第一道大模拟题. 题解:模拟... 卡点:无数小错误,要是没有写一点调一点,那大概是永远调不出来了... C++ Code: #include <cstdio& ...

  6. 【洛谷】【动态规划+单调队列】P1725 琪露诺

    [题目描述:] 在幻想乡,琪露诺是以笨蛋闻名的冰之妖精. 某一天,琪露诺又在玩速冻青蛙,就是用冰把青蛙瞬间冻起来.但是这只青蛙比以往的要聪明许多,在琪露诺来之前就已经跑到了河的对岸.于是琪露诺决定到河 ...

  7. P1725 琪露诺

    P1725 琪露诺 单调队列优化dp 对于不是常数转移的dp转移,我们都可以考虑单调队列转移 然而我们要把数组开大 #include<cstdio> #include<algorit ...

  8. luogu P1725 琪露诺

    二次联通门 : luogu P1725 琪露诺 /* luogu P1725 琪露诺 DP + 线段树 用线段树维护dp[i - R] ~ dp[i - L]的最大值 然后 转移方程是 dp[i] = ...

  9. P1725 琪露诺(单调队列优化)

    描述:https://www.luogu.com.cn/problem/P1725 小河可以看作一列格子依次编号为0到N,琪露诺只能从编号小的格子移动到编号大的格子.而且琪露诺按照一种特殊的方式进行移 ...

随机推荐

  1. 【js】为什么要使用react+redux

    前端的浪潮一叠叠袭来,带走了jQuery,带走了backbone,带来了react,带来了redux,但是面对层出不穷的前端技术,我们应该何去何从呢?近一年来笔者的也发生了同样的变化,技术栈从.net ...

  2. Qt实现客户端与服务器消息发送

    这里用Qt来简单设计实现一个场景,即: ①两端:服务器QtServer和客户端QtClient ②功能:服务端连接客户端,两者能够互相发送消息,传送文件,并且显示文件传送进度. 环境:VS20013+ ...

  3. Javascript对象基础讲解

    1.Object对象详解 javascript 里最基本的数据类型是对象. avaScript里的对象其实是一个无序的属性集合,属性又是一个个的名-值对. 除了字符串,数字,true,false,nu ...

  4. 内联标签------------大多数XHTML可以表示为两种类型的标签:块标签(block tag)和内联标签(inline tag)

    内联标签 <em> 强调,大部分浏览器渲染为斜体. <strong> 强调,大部分浏览器渲染为黑体. <sub> 下标 <sup> 上标 内联标签通常用 ...

  5. Troubleshooting Guide for ORA-12541 TNS: No Listener

    Server side checks (not platform specific): 1)  Check the result on the server using tnsping to the ...

  6. pyinstaller打包报错:AttributeError: 'str' object has no attribute 'items'

    导致原因和python多数奇奇怪怪的问题一样,依赖包的版本问题. 解决办法: 对setuptools这个包进行升级,链接在这里 https://pypi.org/project/setuptools/ ...

  7. FCC 基础JavaScript 练习1

    1.JavaScript中的注释方式有以下两种 // This is an in-line comment. /* This is a multi-line comment */ 2.avaScrip ...

  8. Android中 string.xml资源 如何添加参数?

    在android 开发,我们通常会用string.xml资源去设置textview等控件的字符串.而值一般是与程序的运行结果无关的. 但有时需要根据运行的结果来显示到控件中,这时字符串资源就不能写死了 ...

  9. TI 77GHZ雷达开发套件 RDP-DC100

                                        RDP-DC100用户使用手册           目录 1.      硬件说明... 3 1.1.      官方处理板的修 ...

  10. 服务器主机&软件性能测试自定标准

    PS:最近一直致力于代理ip的服务搭建,其中就要根据客户群体的不同来测试搭建环境和搭建软件的性能,但是不同的客户群体所处的环境和使用的软件是不同的,而业内又没有一套完整的评估方法.在忽略网络本身来讲, ...