宵暗的妖怪

简介: 题目描述露米娅作为宵暗的妖怪,非常喜欢吞噬黑暗。这天,她来到了一条路上,准备吞噬这条路上的黑暗。这条道路一共被分为部分,每个部分上的黑暗数量为。露米娅每次可以任取 连续的 未被吞噬过的 三部分,将其中的黑暗全部吞噬,并获得中间部分的饱食度。露米娅想知道,自己能获得的饱食度最大值是多少?输入描述:第一行一个正整数,代表道路被分的份数。第二行有个正整数,代表每一部分黑暗数量。数据范围:输出描述:一个正整数,代表最终饱食度的最大值。

题目描述


露米娅作为宵暗的妖怪,非常喜欢吞噬黑暗。

这天,她来到了一条路上,准备吞噬这条路上的黑暗。

这条道路一共被分为部分,每个部分上的黑暗数量为。

露米娅每次可以任取 连续的 未被吞噬过的 三部分,将其中的黑暗全部吞噬,并获得中间部分的饱食度。

露米娅想知道,自己能获得的饱食度最大值是多少?


输入描述:


第一行一个正整数,代表道路被分的份数。

第二行有个正整数,代表每一部分黑暗数量。

数据范围:


输出描述:


一个正整数,代表最终饱食度的最大值。

示例1

输入

复制

7
2 4 1 4 2 1 8

输出

复制

6


说明


选择[2,4,1]和[4,2,1]这两段即可。饱食度为4+2=6。

示例2

输入

复制

7
2 4 1 7 2 1 8

输出

复制

7


说明


选择[1,7,2]这一段即可。饱食度为7。

值得注意的是,若取两段进行吞噬,反而最多只能获得6的饱食度,并不是最大的。


在处理的过程中dp[i][0]表示没有被吞噬的时候的值

dp[i][1]表示被吞噬的值


分为两种情况,如果是没有被吞噬的情况下,可以取前一个的最大

如果是这一个点被吞噬,就要从前一个的前一个没有被吞噬的那个来加上a[i]

因为最终是求得最大值,这个最大值会出现在倒数第二个,因为在吞噬的过程中,只取中间部分的饱食度


当然通过代码可以看到在最后也可以输出 -> dp[n][0]

map <ll,ll> mp;
ll dp[maxn][2];
ll a[maxn];
int main()
{
    int n = read;
    for(int i=1;i<=n;i++) a[i]=read;
    for(int i = 2;i<=n-1;i++){
        dp[i][0] = max(dp[i-1][1] , dp[i-1][0]);
        dp[i][1] = dp[i - 2][0] + a[i];
    }
    cout<< max(dp[n-1][0],dp[n-1][1]) <<endl;
    return 0;
}


文章知识点与官方知识档案匹配,可进一步学习相关知识

算法技能树leetcode-动态规划22-括号生成7707 人正在系统学习中


目录
相关文章
|
5月前
|
机器学习/深度学习 Python
sigmoid函数
本文探讨了高等数学中的sigmoid函数,它在神经网络中的应用,特别是在二分类问题的输出层。sigmoid函数公式为 $\frac{1}{1 + e^{-x}}$,其导数为 $sigmoid(x)\cdot(1-sigmoid(x))$。文章还展示了sigmoid函数的图像,并提供了一个使用Python绘制函数及其导数的代码示例。
244 2
|
5月前
|
Java
JavaSE——方法(1/2)-介绍、方法的各种形式、使用的要求
JavaSE——方法(1/2)-介绍、方法的各种形式、使用的要求
32 5
|
6月前
|
存储 算法 搜索推荐
【数据结构】排序算法
【数据结构】排序算法
48 3
|
6月前
基于autojs4的快手辅助私信版
基于autojs4的快手辅助私信版
54 0
|
11月前
|
机器学习/深度学习 算法
深入浅出理解:算法的时间复杂度和空间复杂度
深入浅出理解:算法的时间复杂度和空间复杂度
64 0
|
存储 缓存 NoSQL
Redis基本数据类型
1.字符串类型(String) 1.创建与获取 2.字符串的修改 2.哈希类型(Hash) 1.创建哈希 2.获取哈希某个属性的值 3.检测是否存在 4.哈希键的修改 5.其它 3.列表类型(list) 1.列表的创建与删除 2.获取列表以及相关信息 4.集合类型(set) 1.集合的创建删除与查询 2.集合的运算 有序集合类型(zset) 1.有序集合的创建与查询 2.有序集合的修改
93 0
|
存储 算法 网络协议
从关键字~C语言 — 期末考,考研,面试中那些你不得不知道的C语言关键字细节(2)
从关键字~C语言 — 期末考,考研,面试中那些你不得不知道的C语言关键字细节(2)
128 0
从关键字~C语言 — 期末考,考研,面试中那些你不得不知道的C语言关键字细节(2)
|
JavaScript
Vue 安装 vuex sass 和 引入 Jq
Vue 安装 vuex sass 和 引入 Jq