简要题意:

你前面一共有 nnn 个格子,每个格子都有它的分值 axa_xax​。当你到达第 xxx 个格子就能获得第 xxx 个格子的得分 axa_xax​。

初始时你站在第 111 个格子,每一次移动你可以选择向左或向右,特别地,向左移动的次数不能超过 zzz。

现在,请问你正好走了 kkk 步后,最大得分是多少?

这道题比赛时,我先写了个正解,结果发现出了点问题,然后不知道怎么想的,去写了 222 个显然是假的的贪心,然后又跑回去重新按照第 111 次的思路写了一遍,然后就过了。于是我就丢人地做了 505050 分钟 BBB,导致没来得及写完 DDD。

这道题考虑这样一件事,我们没走一步,虽然位置并不一定单调不降,但是向左走的步数和总共走的步数一定是单调不降的,换句话说就是这 222 个量无后效性,这就是本题的突破口。

我们知道向左走的步数和总共走的步数就可以知道当前在哪个格子,然后我们再来决定这步是从哪里转移过来的,上一步是向右走的还是向左走的。

思路大概就是这样,希望一些细节大家还是自己推一下,还是比较复杂的。

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
template<typename T>inline void read(T &FF){T RR=1;FF=0;char CH=getchar();for(;!isdigit(CH);CH=getchar())if(CH=='-')RR=-1;for(;isdigit(CH);CH=getchar())FF=(FF<<1)+(FF<<3)+(CH^48);FF*=RR;
}
const int MAXN=1e5+10;
int a[MAXN],f[6][MAXN];
int work(){int n,k,z;read(n);read(k);read(z);for(int i=1;i<=n;i++)read(a[i]);f[0][0]=a[1];for(int i=0;i<=z;i++)for(int j=1;j<=k;j++){f[i][j]=f[i][j-1]+a[j-i*2+1];if(i!=0)f[i][j]=max(f[i][j],f[i-1][j-1]+a[j-i*2+1]);}int ans=0;for(int i=0;i<=z;i++)ans=max(ans,f[i][k]);cout<<ans<<endl;return 0;
}
int main(){int T;read(T);while(T--)work();return 0;
}

题解 CF1389B 【Array Walk】相关推荐

  1. php array walk 效率,php代码优化系列(二) -- array_walk 和 foreach, for 的效率的比较...

    实验是我学习计算机科学的一个重要方法,计算机科学不是简单的智力游戏,它本质上来说不是一门科学,而是一个改造世界的工具.数学方法和实验方法是计算机研究的基本方法,也是我们学习的基本方法,数学锻炼我们的思 ...

  2. asp子窗口读取父窗口数据_算法与数据结构基础 - 数组(Array)

    数组基础 数组是最基础的数据结构,特点是O(1)时间读取任意下标元素,经常应用于排序(Sort).双指针(Two Pointers).二分查找(Binary Search).动态规划(DP)等算法.顺 ...

  3. Educational Codeforces Round 92 (Rated for Div. 2)题解(A-C)

    目录 A.LCM Problem B.Array Walk C. Good String A.LCM Problem 题意:给定两个整数定义的闭区间[l,r][l,r][l,r],让你在区间内找出两个 ...

  4. php 错误传递,php-调用时通过引用传递错误,无法修复代码

    自从我更新到php 5.4以来,我收到了错误信息,即调用时传递引用已被删除,正如我阅读的那样,删除了&应该解决它.它可以,但是现在我的代码不再起作用. 我需要使用字符串beeing t和f加上 ...

  5. PHP 从菜鸟到大咖的踩坑之路

    https://cloud.tencent.com/developer/article/1464655 电商Sku设计思维 https://xlswriter-docs.viest.me/zh-cn/ ...

  6. Python各种包学习

    Logging logging的level DEBUG>INFO>WARNING>ERROR>CRITICAL import logginglogging.basicConfi ...

  7. The 2022 ICPC Asia Regionals Online Contest (II) A、B、E、F、G、J、L

    文章目录 A-Yet Another Remainder 题目 题解 B-Non-decreasing Array 题目 题解 E-An Interesting Sequence 题目 题解 F-In ...

  8. 老男孩上海校区Python面试题

    python面试题 第一章:python基础 数据类型: 1 字典: 1.1 现有字典 dict={'a':24,'g':52,'i':12,'k':33}请按字典中的 value 值进行排序? 1. ...

  9. 【Codeforces Round #767 (Div. 2)】 C. Meximum Array 题解

    [Codeforces Round #767 (Div. 2) ]C. Meximum Array 题解 1629C: Meximum Array 题解 [Codeforces Round #767 ...

  10. 【Python CheckiO 题解】Sort Array by Element Frequency

    CheckiO 是面向初学者和高级程序员的编码游戏,使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务,从而提高你的编码技能,本博客主要记录自己用 Python 在闯关时的做题思 ...

最新文章

  1. 动态开辟二维数组的两种方案及位体
  2. Oracle 子查询
  3. qt double 相减不为0_Qt音视频开发25-ffmpeg音量设置
  4. 响应式系统reactive system初探
  5. 小心 HttpClient 中的 FormUrlEncodeContent 的 bug
  6. 2018-2019-1 20165203 《信息安全系统设计基础》第六周学习总结
  7. 期待三分天下开源芯片有其一
  8. OpenCV 访问Mat 像素
  9. winform 的exe为什么移动之后不能使用_C++MyDock配置要求、所需运行库、常见问题 初次使用必看...
  10. 白话CMMI(一)——CMMI扫盲
  11. 计算机蓝屏代码0x0000007b,win7开机蓝屏提示STOP:0X0000007B的解决方法
  12. 为啥苹果手机连无线无网络连接服务器,苹果手机网络无法连接怎么回事
  13. 【百练】1103Hangover宿醉(c语言)
  14. 排序 ---- 快排(C语言)
  15. 使用Landsat系列数据来检测喜马拉雅地区的冰湖溃决(Georg Veha等人,RSE,2018)
  16. searchableSelect下拉框插件增加按拼音及首拼搜索
  17. c语言调用calculate函数,关于c语言中int calculate函数求解。谢谢
  18. 粗粒度与细粒度的解释
  19. python实验室怎么样_跟老齐学Python之一个免费的实验室
  20. 混沌工程之ChaosBlade(一):建立混沌工程思想

热门文章

  1. arcgis 空间交集 计算_基于ArcGIS的GIS缓冲区与叠加分析的综合应用——以大型商场选址为例...
  2. 力扣刷题 DAY_69 回溯
  3. 推荐一款linux下流程图绘制工具-yEd Graph Editor
  4. Python Scrapy 爬取 前程无忧招聘网
  5. 5、html标签中的两种关系
  6. 变电站无线测温系统的特点与应用
  7. 湘潭大学 Hurry Up 三分,求凹函数的最小值问题
  8. 交互设计师需要具备什么样的专业能力
  9. Linux基础:破解root密码(rd.break)
  10. Python图片转base64