最近要区赛了
心里紧张得不得了
SCP(bushi
CSP只考了,考了,考了

sqrt(100/5*3+4)*7+pow(2,2)+sqrt(4)-(-(1/2))分

停,回归正题

题目
怪盗基德的滑翔翼
题目描述
怪盗基德偷走了一颗珍贵的钻石,
不料却被柯南小朋友识破了伪装,
而他的滑翔翼的动力装置也被柯南踢出的足球破坏了。
不得已,怪盗基德只能操作受损的滑翔翼逃脱。假设城市中一共有N幢建筑排成一条线,
每幢建筑的高度各不相同。
初始时,怪盗基德可以在任何一幢建筑的顶端。
他可以选择一个方向逃跑,但是不能中途改变方向。
因为滑翔翼动力装置受损,他只能往下滑行
(即:只能从较高的建筑滑翔到较低的建筑)。
他希望尽可能多地经过不同建筑的顶部,
这样可以减缓下降时的冲击力,减少受伤的可能性。请问,他最多可以经过多少幢不同建筑的顶部(包含初始时的建筑)?
输入格式
输入数据第一行是一个整数K(K < 100),代表有K组测试数据。
每组测试数据包含两行:第一行是一个整数N(N < 100),代表有N幢建筑。第二行包含N个不同的整数,每一个对应一幢建筑的高度h(0 < h < 10000),按照建筑的排列顺序给出。输出格式
对于每一组测试数据,输出一行,包含一个整数,代表怪盗基德最多可以经过的建筑数量。
输入样例1:
3
8
300 207 155 299 298 170 158 65
8
65 158 170 298 299 155 207 300
10
2 1 3 4 5 6 7 8 9 10
输出样例1:
6
6
9

我就想问,这道题版权费交了吗(bushi)

思路:
这道题明显是一道线性DP嘛,
就是最长上升子序列
很简单吧。。。

好了上代码

#include<bits/stdc++.h> //万能头万岁
using namespace std;
const int N=10001;
/*
这道题可以化作两个最长上升子序列来求
一个从左到右,一个从右到左
所以这里我定义了两个DP数组
*/
int a[N],LeftDP[N],RightDP[N];
int EndAns,n;int main(){int T;cin>>T; //多组数据while(T--&&cin>>n){memset(a,0,sizeof(a)); //每次数据结束要清空数组memset(LeftDP,0,sizeof(LeftDP));memset(RightDP,0,sizeof(RightDP));for(int i=1;i<=n;i++){cin>>a[i]; //输入每栋楼的高度LeftDP[i]=RightDP[i]=1; //初始化 LeftDP 和 RightDP 为一}int LeftAns=0; //从左到右最长上升子序列的最大值for(int i=1;i<=n;i++){ //从左到右求for(int j=1;j<i;j++)if(a[i]>a[j])LeftDP[i]=max(LeftDP[i],LeftDP[j]+1);LeftAns=max(LeftAns,LeftDP[i]);}int RightAns=0; //从右到左最长上升子序列的最大值for(int i=n;i>=1;i--){ //相当于反过来从右到左求for(int j=n;j>i;j--)if(a[i]>a[j])RightDP[i]=max(RightDP[i],RightDP[j]+1);RightAns=max(RightAns,RightDP[i]);}EndAns=max(LeftAns,RightAns); //最后的答案就是LeftAns 和 RightAns 的最大值cout<<EndAns<<endl; //输出并换行}
}

嗯,那就先到这吧
拜拜

题解-怪盗基德的滑翔翼 c++相关推荐

  1. 1286:怪盗基德的滑翔翼(错)

    /* 1286:怪盗基德的滑翔翼(错) http://ybt.ssoier.cn:8088/problem_show.php?pid=1286 请找出此程序的问题  */ #include<bi ...

  2. 1286:怪盗基德的滑翔翼-2019-07-03(《信息学奥赛一本通》)

    /* 1286:怪盗基德的滑翔翼-2019-07-03(支扬帆) http://ybt.ssoier.cn:8088/problem_show.php?pid=1286 */ #include < ...

  3. C++动态规划算法之怪盗基德的滑翔翼

    怪盗基德的滑翔翼 Description 怪盗基德是一个充满传奇色彩的怪盗,专门以珠宝为目标的超级盗窃犯.而他最为突出的地方,就是他每次都能逃脱中村警部的重重围堵,而这也很大程度上是多亏了他随身携带的 ...

  4. 2017北大信科夏令营机试E:怪盗基德的滑翔翼

    E:怪盗基德的滑翔翼 查看 提交 统计 提问 总时间限制:  1000ms  内存限制:  65536kB 描述 怪盗基德是一个充满传奇色彩的怪盗,专门以珠宝为目标的超级盗窃犯.而他最为突出的地方,就 ...

  5. 小码王(洛谷)怪盗基德的滑翔翼

    [DP]怪盗基德的滑翔翼 题目背景 怪盗基德是一个充满传奇色彩的怪盗,专门以珠宝为目标的超级盗窃犯.而他最为突出的地方,就是他每次都能逃脱中村警部的重重围堵,而这也很大程度上是多亏了他随身携带的便于操 ...

  6. 怪盗基德的滑翔翼(信息学奥赛一本通-T286)

    [题目描述] 怪盗基德是一个充满传奇色彩的怪盗,专门以珠宝为目标的超级盗窃犯.而他最为突出的地方,就是他每次都能逃脱中村警部的重重围堵,而这也很大程度上是多亏了他随身携带的便于操作的滑翔翼. 有一天, ...

  7. AcWing 1017. 怪盗基德的滑翔翼

    怪盗基德是一个充满传奇色彩的怪盗,专门以珠宝为目标的超级盗窃犯. 而他最为突出的地方,就是他每次都能逃脱中村警部的重重围堵,而这也很大程度上是多亏了他随身携带的便于操作的滑翔翼. 有一天,怪盗基德像往 ...

  8. AcWing1017.怪盗基德的滑翔翼

    题目描述 怪盗基德是一个充满传奇色彩的怪盗,专门以珠宝为目标的超级盗窃犯. 而他最为突出的地方,就是他每次都能逃脱中村警部的重重围堵,而这也很大程度上是多亏了他随身携带的便于操作的滑翔翼. 有一天,怪 ...

  9. AcWing 1017 怪盗基德的滑翔翼

    题目描述: 怪盗基德是一个充满传奇色彩的怪盗,专门以珠宝为目标的超级盗窃犯. 而他最为突出的地方,就是他每次都能逃脱中村警部的重重围堵,而这也很大程度上是多亏了他随身携带的便于操作的滑翔翼. 有一天, ...

  10. 怪盗基德的滑翔翼 线性DP 最长上升子序列

最新文章

  1. Mybatis获取参数值的方式
  2. win7系统中给GVim 配置ctags和taglist插件
  3. webpack 3 零基础入门教程 #13 - 生产环境 vs 开发环境
  4. h5新增浏览器本地缓存localStorage
  5. Core J2EE Patterns - Service Locator--oracle官网
  6. android 大视图风格通知栏,Android中使用Notification实现宽视图通知栏(Notification示例二)...
  7. java基础学习笔记(一)
  8. Spring框架中级联赋值(外部属性注入)以及内部属性注入
  9. 使用bootbox.js(二级务必提交书面和数字到数字中国)
  10. 使用docker+tomcat部署jenkins
  11. CSF视频文件格式转换
  12. 【软件工程】-项目开发计划
  13. C#winform软件长时间运行后无响应问题解决
  14. 用SpringBoot 做代web理服务器
  15. 清除Marco1!$A$1提示软件日志.
  16. Python语音助手
  17. 文章本天成妙手偶得之
  18. 洛谷P4383 [八省联考2018]林克卡特树lct(DP凸优化/wqs二分)
  19. 欢迎使用CSDN-markdown编辑器12321432432
  20. 一本通1646GT 考试

热门文章

  1. 台式计算机无线网络,台式电脑怎么设置无线网络?
  2. iPhone苹果手机怎么定位追踪另外一个苹果iPhone手机的位置?
  3. 毕业第一站 | 北京游
  4. 以读者角度走进RFID打造的智慧图书馆
  5. 中国互联网络发展状况统计报告计算机,CNNIC发布《第22次中国互联网络发展状况统计报告》...
  6. 后台网站首页设计过程
  7. html5视屏教程地址
  8. 两消两现指的是_精细胞减二末期会有“两现”吗
  9. 【华人学者风采】聂建云 蒙特利尔大学
  10. 利用计算机发布调度命令时必须严格遵守,调度命令