联盟周赛2019810 csgo (动态规划、不下降子序列)
今天起晚了...就做了俩题 难受的一批...
题目描述
著名第一人称射击游戏 csgo 因其优秀的平衡性,爽快的射击感和科学的战术配比赢得了世界广大玩家的好评。 在一局游戏中,分为两个阵营,他们的目标就是消灭全部的对方敌人。
现在你是其中的一名玩家,不幸的是,你突然遭遇了许多个站成一横排,身高不同的敌人。
这种时候,用武器瞄准对方的头部进行 “爆头”(一击必杀)是化解险境的唯一方法。
不幸的是,你手中的武器由于过于老旧而后坐力巨大。(而且放浪的你还不喜欢压枪)
也就是说,在一轮扫射中,第一发子弹可以向任意高度水平射出,但是之后每发子弹射出的高度都不能低于前一发子弹射出的高度。(我们假设子弹在飞行中一直沿水平方向飞行,不会下落)
我们假定你无需考虑换弹问题,并且你是一名神枪手,拥有一颗子弹就可以对一个敌人进行“爆头”的能力,不会打空枪 。然而放浪的你有一个坏习惯,就是只喜欢从左向右扫射。
那么为了快速解决掉前方的所有敌人,请问你至少需要进行几轮扫射?
输入格式
本题输入若干组数据,每组数据分为两行。
第一行有一个整数 nnn,表示你面前遇到敌人的数量(1≤n≤100001 \le n \le 10000)
第二行有 n 个整数 hih_i,(1≤hi<MAX_INT1 \le hi< MAX\_INT)表示每个敌人的身高(认为头部的高度等于身高)
输出格式
一个整数,表示最少消灭全部敌人需要的扫射轮数
题目分析
如果当前目标比前面的导弹都低,就必须多开一个导弹,否则更新导弹高度即可
代码
#include<cstdio>
#include<cstring>
using namespace std;
const int maxn=1e6+;
int dp[maxn];
int n,x,cnt;
int main()
{
while(scanf("%d",&n)!=EOF){
memset(dp,,sizeof(dp));
cnt=;
for(int i=;i<=n;i++){
scanf("%d",&x);
int j;
for( j=;j<=cnt;j++){
if(x>=dp[j]){
dp[j]=x;
break;
}
}
if(j>cnt) dp[++cnt]=x;
}
printf("%d\n",cnt);
}
return ;
}
联盟周赛2019810 csgo (动态规划、不下降子序列)的更多相关文章
- 【最长下降子序列】【动态规划】【二分】XMU 1041 Sequence
题目链接: http://acm.xmu.edu.cn/JudgeOnline/problem.php?id=1041 题目大意: 一个二维平面,上面n(n<=1 000 000)个点.问至少选 ...
- Luogu 1020 导弹拦截(动态规划,最长不下降子序列,二分,STL运用,贪心,单调队列)
Luogu 1020 导弹拦截(动态规划,最长不下降子序列,二分,STL运用,贪心,单调队列) Description 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺 ...
- 【动态规划+高精度】mr360-定长不下降子序列
[题目大意] 韵哲君发现自己的面前有一行数字,当她正在琢磨应该干什么的时候,这时候,陈凡老师从天而降,走到了韵哲君的身边,低下头,对她耳语了几句,然后飘然而去. 陈凡老师说了什么呢,陈凡老师对韵哲君说 ...
- 动态规划——最长不下降子序列(LIS)
最长不降子序列是这样一个问题: 下面介绍动态规划的做法. 令 dp[i] 表示以 A[i] 结尾的最长不下降序列长度.这样对 A[i] 来说就会有两种可能: 如果存在 A[i] 之前的元素 A[j] ...
- HDU 6357.Hills And Valleys-字符串非严格递增子序列(LIS最长非下降子序列)+动态规划(区间翻转l,r找最长非递减子序列),好题哇 (2018 Multi-University Training Contest 5 1008)
6357. Hills And Valleys 自己感觉这是个好题,应该是经典题目,所以半路选手补了这道字符串的动态规划题目. 题意就是给你一个串,翻转任意区间一次,求最长的非下降子序列. 一看题面写 ...
- 【动态规划】【二分】【最长不下降子序列】洛谷 P1020 导弹拦截
最长不下降子序列的nlogn算法 见 http://www.cnblogs.com/mengxm-lincf/archive/2011/07/12/2104745.html 这题是最长不上升子序列,倒 ...
- 简单动态规划——最长公共子序列&&最长回文子序列&&最长上升||下降子序列
最长公共子序列,顾名思义当然是求两个字符串的最长公共子序列啦,当然,这只是一道非常菜的动规,所以直接附上代码: #include<iostream> #include<cstdio& ...
- HDU 1160 FatMouse's Speed (动态规划、最长下降子序列)
FatMouse's Speed Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- 低价购买 (动态规划,变种最长下降子序列(LIS))
题目描述 “低价购买”这条建议是在奶牛股票市场取得成功的一半规则.要想被认为是伟大的投资者,你必须遵循以下的问题建议:“低价购买:再低价购买”.每次你购买一支股票,你必须用低于你上次购买它的价格购买它 ...
随机推荐
- Python的语句---钱中平
python中的两种语句:1.if条件控制语句 格式: if: a = int(input("请输入第一个数:"))b = int(input("请输入第二个数:&quo ...
- 希尔排序java代码
//希尔排序 通过测试 public class ShellSortTest{ public static void shellSort(int [] arrays){ for(int d=5;d&g ...
- (Java多线程系列五)守护线程
守护线程 什么是守护线程 Java中有两种线程,一种是用户线程,一种是守护线程. 当进程不存在或主线程停止,守护线程也会自动停止. class DaemonThread extends Thread ...
- unittest详解(二) 跳过用例的执行(skip)
在执行测试用例时,有时候有些用例是不需要执行的,那我们怎么办呢?难道删除这些用例?那下次执行时如果又需要执行这些用例时,又把它补回来?这样操作就太麻烦了. unittest提供了一些跳过指定用例的方法 ...
- F - Almost Sorted Array
F - Almost Sorted Array We are all familiar with sorting algorithms: quick sort, merge sort, heap ...
- Misha and Permutations Summation
A - Misha and Permutations Summation 首先这个 mod n! 因为数量级上的差别最多只会对康拓展开的第一项起作用所以这个题并不需要把 ord (p) 和 ord ( ...
- Hibernate与MyBaits的区别?
(1)Hibernate是全自动,而myBatis是半自动,Hibernate完全可以通过对象关系模型实现对数据库的操作,拥有完整的JavaBean对象与数据库的映射结构来自动生成SQL.而myBat ...
- IDEA设置注释模板
特别提示:本人博客部分有参考网络其他博客,但均是本人亲手编写过并验证通过.如发现博客有错误,请及时提出以免误导其他人,谢谢!欢迎转载,但记得标明文章出处:http://www.cnblogs.com/ ...
- 一、Smarty安装与调试
一.安装注:这里所使用的Smarty是3.x版本,要求PHP版本为5.2或者更高.解压下载下来的Smarty压缩文件,将文件夹libs拷到项目中,在项目中引入libs文件夹中的"Smarty ...
- tf工程化部署相关
1.TensorFlow 模型保存/载入的两种方法 https://blog.csdn.net/thriving_fcl/article/details/71423039 [讲解清晰,2种方法都有缺陷 ...