1083 AlvinZH的青春记忆I

思路

中等题,动态规划。

简化题意,一个环上取数,数不可相邻,取取得数之和最大值。

环不好表示,可以解开变成一列数,那么答案应为下列两种情况较大者。

①:取第一个点,可取得最大价值为宝物[1,n-1]的最大价值。

②:不取第一个点,可取得最大价值为宝物[2,n]的最大价值。

动态规划,状态转移方程:\(dp[i] = max(dp[i-1], dp[i - 2] + V[i])\)

分析

时间复杂度:\(O(n)\)。

参考代码

//
// Created by AlvinZH on 2017/12/4.
// Copyright (c) AlvinZH. All rights reserved.
//#include <cstdio>
#include <iostream>
#define max(a, b) a > b ? a : b
using namespace std;int n;
int V[100005];/*
int dp[100005];
int maxValue(int left, int right)
{dp[left] = V[left];dp[left+1] = max(V[left], V[left+1]);for(int i = left+2; i <= right; i++)dp[i] = max(dp[i-1], dp[i - 2] + V[i]);return dp[right];
}
*/
//优化代码
int maxValue(int left, int right)
{int LastTwo = 0, LastOne = 0;for(int i = left; i <= right; i++){int temp = LastOne;LastOne = max(LastOne, LastTwo + V[i]);LastTwo = temp;}return LastOne;
}int main()
{while(~scanf("%d", &n)){for(int i = 1; i <= n; i++)scanf("%d", &V[i]);if(n == 1) printf("%d\n", V[1]);else printf("%d\n", max(maxValue(1, n-1), maxValue(2, n)));}
}

转载于:https://www.cnblogs.com/AlvinZH/p/8137717.html

2016级算法期末模拟练习赛-B.AlvinZH的青春记忆I相关推荐

  1. 2016级算法期末模拟练习赛-A.wuli51和京导的毕业旅行

    1063 wuli51和京导的毕业旅行 思路 中等题,二分+贪心. 简化题意,将m+1个数字分成n份,ans为这n段中每段数字和的最大值,求ans最小值及其方案. 对于这种求最小的最大值,最常用的方法 ...

  2. 2016级算法期末上机-H.难题·AlvinZH's Fight with DDLs III

    1119 AlvinZH's Fight with DDLs III 思路 难题,最小点覆盖. 分析题意,某一个任务,既可以在笔记本A的 \(a\) 模式下完成,也可以在笔记本B的 \(b\) 模式下 ...

  3. 2016级算法期末上机-F.中等·AlvinZH's Fight with DDLs II

    1118 AlvinZH's Fight with DDLs II 思路 中等题,贪心. 理解题意,每次攻击中,可以使某个敌人生命值-1,自己生命值减去∑存活敌人总攻击力. 贪心思想,血量少攻击高的要 ...

  4. 2016级算法期末上机-I.难题·ModricWang's Fight with DDLs III

    1126 ModricWang's Fight with DDLs III 思路 由于题目中已经说明了时间经过了正无穷,因此初始位置是不重要的,并且每条边.每个点的地位是均等的.因此到达每个点的概率就 ...

  5. 北航2018级算法期末上机部分题解

    北航2018级算法期末第二次上机考试部分题解 C题 三角形 题目描述 数据大小 输入 输出 解题思路 题解代码 D 魔术 题目描述 数据描述 输入 输出 解题思路 题解代码 E 乘法 题目描述 输入 ...

  6. 2016级算法第一次练习赛-E.AlvinZH的儿时回忆——蛙声一片

    864 AlvinZH的儿时回忆----蛙声一片 题目链接:https://buaacoding.cn/problem/865/index 思路 中等题.难点在于理解题意!仔细读题才能弄懂题目规则.整 ...

  7. 2016级算法第五次上机-E.AlvinZH的学霸养成记IV

    1039 AlvinZH的学霸养成记IV 思路 难题,最大二分图匹配. 难点在于如何转化问题,n对n,一个只能攻击一个,判断是否存在一种攻击方案我方不死团灭对方.可以想到把所有随从看作点,对于可攻击的 ...

  8. 2016级算法第六次上机-D.AlvinZH的学霸养成记V

    1081 AlvinZH的学霸养成记V 思路 中等题,计算几何. 这是一个排序问题,按极角排序.可以转化为叉积的应用,对于点A和B,通过叉积可以判断角度大小,共线时再判断距离. 叉积的应用.OA × ...

  9. 2016级算法第四次上机-C.AlvinZH的1021实验

    975 AlvinZH的1021实验 思路 贪心,简单题. 题目已经说明有且只有一种方法表示所求数,简单列举几项可以发现只由前i个砝码会可以表示[1,∑Wi]的所有数的.先找到最大需要的砝码Wi,问题 ...

最新文章

  1. 大数据WEB阶段 后台和页面之间传递日期格式数据的400问题
  2. linux意想不到题4
  3. Android动态布局
  4. 面试官系统精讲Java源码及大厂真题 - 26 惊叹面试官:由浅入深手写队列
  5. 算法47----大数
  6. MIT6.830 lab6 Rollback and Recovery 实验报告
  7. matlab 识别调试,有关matlab的人脸识别程序,但调试是不成功
  8. “不怕的人的面前才有路”!一名双非硕士的985攻博历程
  9. 春运来了,你的火车票备好了么?
  10. rasa 中文 UnsupportedLanguageError: component ‘LanguageModelTokenizer‘ does not support language ‘zh‘.
  11. Servlet生命周期与线程安全
  12. Javascript你必须要知道的面试题
  13. python爬虫利用requests和BeautifulSoup爬取美女图片
  14. Swift版百思不得姐
  15. Weixin4j微信开发网页授权获取openid案例
  16. 【Win 10 应用开发】MIDI 音乐合成——音符消息篇
  17. WEB前端之网页设计③----最新最全详解/如何在网页上创建表格
  18. macbook proa1708_苹果a1708是哪一年的
  19. ac管理器管理员密码忘记了_人们为什么不使用密码管理器
  20. IDEA跳转到上一个下一个方法的快捷键

热门文章

  1. 利用正则表达式提取网页中Table内的数据
  2. SCI、Ei投稿指南
  3. pytorch保存模型pth_pytorch中保存的模型文件.pth深入解析
  4. leetcode —— 1. 两数之和
  5. Harris及Shi-Tomasi原理及源码【转载】
  6. su、sudo、sudo su、sudo -i的用法和区别
  7. 截取视频段转换为GIF动图
  8. DBUtils学习笔记
  9. 安装npm_微信小程序使用npm安装第三方库
  10. sqlite 复合唯一索引_sqlite 批量插入, 重复插入(更新)