acwing1014-登山问题
项目场景:
LIS问题 dp
问题描述
五一到了,ACM队组织大家去登山观光,队员们发现山上一共有N个景点,并且决定按照顺序来浏览这些景点,即每次所浏览景点的编号都要大于前一个浏览景点的编号。
同时队员们还有另一个登山习惯,就是不连续浏览海拔相同的两个景点,并且一旦开始下山,就不再向上走了。
队员们希望在满足上面条件的同时,尽可能多的浏览景点,你能帮他们找出最多可能浏览的景点数么?
输入格式
第一行包含整数N,表示景点数量。
第二行包含N个整数,表示每个景点的海拔。
输出格式
输出一个整数,表示最多能浏览的景点数。
数据范围
2≤N≤1000
输入样例:
8
186 186 150 200 160 130 197 220
输出样例:
4
分析思路:
本题实质上是求正向和反向两次LIS问题,两次的LIS过程相互独立,因此答案为两端LIS过程中最长上升子序列的最大长度之和-1
res = max(f[i]+g[i]-1,res)
实现代码:
#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
const int N = 1010;
int a[N];
//f[N]存储的是左边上升子序列的长度最大值 g[N]存储的是右边下降子序列的长度最大值
//答案为f[N]+f[N]-1的最大值 两边求解时相互独立 分别求解最大值 最后遍历f和g res为f[i]+g[i]-1当中的最大长度
int f[N],g[N];int n;int main(){cin>>n;for(int i=1;i<=n;i++) cin>>a[i];int res =0;//求左边最大上升子序列的长度最大值 存储到f[i]for(int i=1;i<=n;i++){f[i] = 1;for(int j=1;j<i;j++){if(a[j]<a[i]){f[i] = max(f[i],f[j]+1);}}}//求右边最大下降子序列的长度最大值 存储到g[i]for(int i=n;i>=1;i--){g[i] = 1;for(int j=n;j>i;j--){if(a[j]<a[i]){g[i] = max(g[i],g[j]+1); }}}for(int i=1;i<=n;i++) res = max(res,f[i]+g[i]-1);cout<<res<<endl;return 0;
}
acwing1014-登山问题相关推荐
- AcWing1014.登山
题目描述 五一到了,ACM队组织大家去登山观光,队员们发现山上一共有N个景点,并且决定按照顺序来浏览这些景点,即每次所浏览景点的编号都要大于前一个浏览景点的编号. 同时队员们还有另一个登山习惯,就是不 ...
- 业余无线电通信_登山与业余无线电的完美结合,便携式电台参加VHF比赛心得体会...
2020 VHF QSO PARTY 了,我们来看看 KDØMFO 是如何把登山和业余无线电比赛完美地结合在一起. KDØMFO 我喜欢徒步背包旅行,为此,我把家搬到落基山脉附近.几年前,因为爬山的时 ...
- 苹果自动关机_零下二十度,登山表爆表,苹果冻关机,电霸手机好
五台山徒步大朝台,零下二十多度的严寒里,将近3000米的海拔高度上,能测温-20°-60°范围的某专业户外登山表爆表了!苹果手机更不用说,拿出来的瞬间就死翘翘 那么,在如此酷寒的环境中,这张照片是用什 ...
- 《信息学奥赛一本通》1283:登山
/* <信息学奥赛一本通>1283:登山 http://ybt.ssoier.cn:8088/problem_show.php?pid=1283 */ #include<bits/ ...
- 登山(信息学奥赛一本通-T1283)
[题目描述] 五一到了,ACM队组织大家去登山观光,队员们发现山上一个有N个景点,并且决定按照顺序来浏览这些景点,即每次所浏览景点的编号都要大于前一个浏览景点的编号.同时队员们还有另一个登山习惯,就是 ...
- 杭州登山地图是谁开发的_好天气继续,重阳节登高,五条杭州登山线路奉上
杭州天气.19楼 周六的阳光 相信大家都晒到了吧 秋游.露营.野餐 朋友圈都是出行片 近期好天气将"成串出行", 大家可以尽情享受秋高气爽. 预计未来一周, 杭州将以晴到多云天气为 ...
- 2018,广东,深圳马峦山游玩攻略(含登山线路)
(从小梅沙上,从溪涌下,全程20公里,用时7.5小时,含1小时用餐时间) 马峦山公园横跨坪山新区和大鹏新区,占地31.676km2,东临葵涌街道(原葵涌镇),远眺大小梅沙,南临盐田区三洲田郊野公园,北 ...
- 张朝阳寄语“校花”把参赛比做登山 走到不同阶段都是一种成就
10月18日消息,2019"狐友国民校花大赛"第三场全国晋级赛于北京举行.搜狐公司董事局主席兼首席执行官张朝阳在现场表示:"这是一个关乎审美并给年轻人创造成才机会的通道, ...
- Bailian2995 登山【LIS】
2995:登山 总时间限制: 5000ms 内存限制: 131072kB 描述 五一到了,PKU-ACM队组织大家去登山观光,队员们发现山上一个有N个景点,并且决定按照顺序来浏览这些景点,即每次所浏览 ...
- 【NHOI2018】跳伞登山赛
[题目描述] 某山区有高高低低的 n 个山峰,根据海拔高度的不同,这些山峰由低到高进行了 1 到 n 编号.有 m 条只能单向通行的羊肠小道连接这些山峰.现在,这里要举行一场跳伞登山赛,选手们伞降到某 ...
最新文章
- 【UVA】11992 - Fast Matrix Operations(段树模板)
- 数据库权限的分配与回收
- 日记 [2008年03月23日]LINUX网关后面的pptp ***客户机连接***
- c 递归下降识别程序_看动画轻松理解递归与动态规划
- mysql 快速入门_MySql快速入门
- 转载-如何做好项目的需求与业务调研▲▲▲
- wxWidgets:wxOwnerDrawnComboBox类用法
- c语言3种链接属性: 外部(external), 内部(internal),无设置(none)
- php输入密码才能浏览,使用php为网页设置访问密码 - 小俊学习网
- maven java web项目_Maven创建JavaWeb项目
- 【Linux】centos7安装bcp报错
- 原生js之同级元素添加移除class
- Android vivo美颜相机相册 照亮你的美 图片压缩 图片滤镜,裁剪(附带完整项目源码)
- ps如何制作霓虹字体
- 使用JS监听键盘按下事件(keydown event)
- asmr刷新失败无法连接上服务器_月圆之夜连接服务器失败 连接不上网络怎么办...
- java资源使用效率较高,Java 进程资源使用率较高问题定位
- java实现第二届蓝桥杯地铁换乘(C++)
- 2017第三届中国(重庆)国际物流展会刊(参展商名录)
- 带你快速看完9.8分神作《Effective Java》—— 类和接口篇
热门文章
- idea Java HotSpot(TM) 64-Bit Server VM warning: ignoring option PermSize=512
- Python, SQL: Cannot drop database XXX because it is currently in use解决方法
- 微信H5支付跳回app的问题
- 实验九 微机接口综合实验
- linux app,比较Linux App Store:哪一个适合您? | MOS86
- VBA设置默认/缺省运行路径的方法
- srio 门铃_如何使SkyBell HD门铃静音
- 统计学中z分布、t分布、F分布及χ^2分布
- 长连接 、短连接、心跳机制与断线重连
- oracle防止sql注入proc,解密:Oracle怎么防SQL注入