项目场景:

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-登山问题相关推荐

  1. AcWing1014.登山

    题目描述 五一到了,ACM队组织大家去登山观光,队员们发现山上一共有N个景点,并且决定按照顺序来浏览这些景点,即每次所浏览景点的编号都要大于前一个浏览景点的编号. 同时队员们还有另一个登山习惯,就是不 ...

  2. 业余无线电通信_登山与业余无线电的完美结合,便携式电台参加VHF比赛心得体会...

    2020 VHF QSO PARTY 了,我们来看看 KDØMFO 是如何把登山和业余无线电比赛完美地结合在一起. KDØMFO 我喜欢徒步背包旅行,为此,我把家搬到落基山脉附近.几年前,因为爬山的时 ...

  3. 苹果自动关机_零下二十度,登山表爆表,苹果冻关机,电霸手机好

    五台山徒步大朝台,零下二十多度的严寒里,将近3000米的海拔高度上,能测温-20°-60°范围的某专业户外登山表爆表了!苹果手机更不用说,拿出来的瞬间就死翘翘 那么,在如此酷寒的环境中,这张照片是用什 ...

  4. 《信息学奥赛一本通》1283:登山

    /* <信息学奥赛一本通>1283:登山  http://ybt.ssoier.cn:8088/problem_show.php?pid=1283 */ #include<bits/ ...

  5. 登山(信息学奥赛一本通-T1283)

    [题目描述] 五一到了,ACM队组织大家去登山观光,队员们发现山上一个有N个景点,并且决定按照顺序来浏览这些景点,即每次所浏览景点的编号都要大于前一个浏览景点的编号.同时队员们还有另一个登山习惯,就是 ...

  6. 杭州登山地图是谁开发的_好天气继续,重阳节登高,五条杭州登山线路奉上

    杭州天气.19楼 周六的阳光 相信大家都晒到了吧 秋游.露营.野餐 朋友圈都是出行片 近期好天气将"成串出行", 大家可以尽情享受秋高气爽. 预计未来一周, 杭州将以晴到多云天气为 ...

  7. 2018,广东,深圳马峦山游玩攻略(含登山线路)

    (从小梅沙上,从溪涌下,全程20公里,用时7.5小时,含1小时用餐时间) 马峦山公园横跨坪山新区和大鹏新区,占地31.676km2,东临葵涌街道(原葵涌镇),远眺大小梅沙,南临盐田区三洲田郊野公园,北 ...

  8. 张朝阳寄语“校花”把参赛比做登山 走到不同阶段都是一种成就

    10月18日消息,2019"狐友国民校花大赛"第三场全国晋级赛于北京举行.搜狐公司董事局主席兼首席执行官张朝阳在现场表示:"这是一个关乎审美并给年轻人创造成才机会的通道, ...

  9. Bailian2995 登山【LIS】

    2995:登山 总时间限制: 5000ms 内存限制: 131072kB 描述 五一到了,PKU-ACM队组织大家去登山观光,队员们发现山上一个有N个景点,并且决定按照顺序来浏览这些景点,即每次所浏览 ...

  10. 【NHOI2018】跳伞登山赛

    [题目描述] 某山区有高高低低的 n 个山峰,根据海拔高度的不同,这些山峰由低到高进行了 1 到 n 编号.有 m 条只能单向通行的羊肠小道连接这些山峰.现在,这里要举行一场跳伞登山赛,选手们伞降到某 ...

最新文章

  1. Android Low Battery 低电量处理流程
  2. 站在吃货的角度来解释那些和微服务有关的名词
  3. smartfoxserver扩展里面过滤聊天的不合法字符
  4. word-break属性和css换行显示
  5. java 电梯算法_编程之美之小飞的电梯调度算法(多种解法)---Java语言
  6. 若依的框架怎么样_若依框架的功能代码
  7. Android画布和图形绘制---Canvas and Drawables(一)
  8. python软件测试面试题及答案_软件测试面试 | 一道大厂算法面试真题,你能答上来吗?(附答案)...
  9. vlc学习计划(2)---二进制包安装及使用
  10. ASP.NET程序中 抛出Thread was being aborted. 异常(转)
  11. 银河麒麟ARM64 飞腾FT2000 linuxdeployqt linux打包qt
  12. linux游戏盒子恢复默认,dnf多玩补丁_多玩dnf盒子我用了补丁,怎么还原成默认?具体点,......
  13. 虚拟机与主机之间直接复制粘贴文件(最新详细版)
  14. /admin/login.php,app/admin/controller/Login.php · 静水流深/wotuoquan - Gitee.com
  15. 东大22春大学语文X《大学语文》在线平时作业1_100分资料非答案
  16. 【小程序】766- 一文看懂小程序分享到朋友圈
  17. 正则去掉首尾空格以及首尾的
  18. Manjaro美化 配置教程
  19. 字符及字符串(数字串)输入输出字符串处理函数
  20. 计算机显示器的三原色是,显示器参数看不懂?看完你就明白啦!

热门文章

  1. Java实现GTA5自动抽车,提高中奖概率
  2. NFT排行榜-国内主流NFT数字藏品平台排行榜前12名
  3. YUV(444,422,420) And YUV(Packed,Planar,Semi-Planar)区别
  4. 《结合DDD讲清楚编写技术方案的七大维度》再讨论
  5. ajax asmx 404,ajax webservice asmx 401未经授权的错误(ajax webservice asmx 401 unauthorized error)...
  6. centos7设置hostname
  7. Makefile自定义函数 / pushd,popd / ifneq / findstring / camke内置变量
  8. DIY一把属于自己的机械键盘(一)
  9. Ubuntu下使用动画壁纸 LiveWallpaper
  10. 目前最流行的15个机器学习框架,你知道几个?