1292.圣诞老人
来源:互联网 发布:为什么淘宝店铺进不去 编辑:程序博客网 时间:2024/04/28 07:27
http://www.acmicpc.sdnu.edu.cn/Problem.aspx?pid=1292
这道题是一道动态规划题
for (int j = 0; j<i; j++) { if (a[j] >= a[i]) { if (ans[j] + 1>ans[i]) ans[i] = ans[j] + 1; }
上面是该题的式子。。。
例如:
测试数据:
315 199 155 301 215 170 150 25
当发射第二颗导弹时i=2,我们另j=0。
首先a[j]>=a[i],即a[0]>=a[2],成立。
于是我们看一下ans[j]+1>ans[i];
ans[0]+1>ans[2];
即 1 + 1 > 1
所以当前ans[2]=2
当j=1时,重复上述过程,此时ans[2]变成了3,
也就是,当发射三枚导弹时,都能够拦截下来。
ans[i]这个数组存放的就是发射第i枚导弹时能拦截的数目
以下为代码:
# include <iostream>using namespace std;int main(){ int n=0, max;//n用于存导弹数目,max存最终拦截最大数 int a[100], ans[100];//数组a用于存放导弹高度,数组ans存放发射该枚导弹时最大拦截数 while (cin >> a[n])//输入导弹高度 n++; ans[0] = 1; max = 1;//初始化 for (int i = 1; i<n; i++) { ans[i] = 1; for (int j = 0; j<i; j++)//从第一颗导弹逐步到第i颗 { if (a[j] >= a[i])//如果前面的导弹低于当前的导弹高度 { if (ans[j] + 1>ans[i])//如果发射前面的导弹时最大拦截数+1>发射该枚导弹时最大拦截数 ans[i] = ans[j] + 1;//发射该枚导弹时最大拦截数=发射前面的导弹时最大拦截数+1 } } if (ans[i]>max) max = ans[i]; } cout << max << endl; return 0;}
0 0
- 1292.圣诞老人
- 圣诞老人
- 圣诞老人的由来
- SDNU1292.圣诞老人【动态规划】
- 第一次看见圣诞老人 写于Christmas Eve
- 北美防空联合司令部(NORAD)“追踪”圣诞老人
- 圣诞老人我来做 Santa Yourself!
- 好玩的圣诞老人javascript代码及解释
- 北美防空司令部开始追踪圣诞老人!
- Google VS 微软,圣诞老人听谁的?
- 圣诞老人去哪?Power BI告诉你
- 圣诞老人的礼物-Santa Clau’s Gifts
- 圣诞老人的礼物(百练4110)
- 【树链剖分】【UR #4】UOJ53 追击圣诞老人
- 圣诞老人的圣诞照片卡 - 让圣诞老人送你的信息假日欢呼这个季节
- [双语阅读]英老师称圣诞老人不存在 引学生大哭
- Google 的童心:用 Google Earth 追踪圣诞老人
- 为什么圣诞老人把礼物放在圣诞袜里
- nafxcw.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new(unsigned int)" (??2@YAPAXI@Z)
- Java 程序员如何写注释
- 安卓:自定义适配器实现GridView图文混排
- 利用BroadcastReceiver,使Service与Activity数据交互。
- [LeetCode] Factorial Trailing Zeroes
- 1292.圣诞老人
- Android应用程序资源的编译和打包过程分析
- 1012_数字分类 (20)
- maven 学习笔记(三)-创建简单的eclipse+android+maven工程2(带子测试工程)
- POJ 3984 迷宫问题 (路径记录)
- JQuery使用Ajax同步提交数据
- IOS中文排序学习
- poj 1163 数塔
- 创建需求任意大小的文件的多种方式