1051: 最长的波动序列

时间限制: 1 Sec  内存限制: 128 MB
提交: 47  解决: 13
[提交][状态][讨论版]

题目描述

有一个长度为N的整数序列,序列里面的数是两两不同的,现在要在里面找一个波动序列,这个序列越长越好。

比如有波动序列{a0,a1,a2…an},则a0 > a1 < a2 > a3 < …

输入

第一行输入一个数T,代表有T个任务,T不大于50。

对于每个任务,输入格式为

N a0 a1 a2 … aN

其中N<=30000,测试数据保证序列的数两两不同。

输出

对于每个任务,输出最长的波动序列长度

样例输入

4
5 1 2 3 4 5
5 5 4 3 2 1
5 5 1 4 2 3
5 2 4 1 3 5

样例输出

1
2
5
3
#include<iostream>
#include<cstring>
#include<cstdio> using namespace std;
const int N = + ;
int a[N];
void Solve(int n){
int ans = , flag = , cur = a[];
for(int i = ; i < n; i++){
if(flag > && cur > a[i]){
flag *= -;
ans++;
}else if(flag < && cur < a[i]){
flag *= -;
ans++;
}
cur = a[i];
}
printf("%d\n", ans);
}
int main(){
int T, n;
scanf("%d", &T);
while(T --){
scanf("%d", &n);
for(int i = ; i < n; i++) scanf("%d", &a[i]);
Solve( n );
}
}

最新文章

  1. 敏捷转型历程 - Sprint3 Planning
  2. Reversing Bits in C
  3. NOI2018准备Day7
  4. microsofr visual studio编写c语言
  5. 动态规划之LCS(最大公共子序列)
  6. 复习C语言
  7. Android自定义ListView的Item无法响应OnItemClick的解决办法
  8. 定制XP引导屏幕背景图像和替换windows这句话
  9. OleDbCommand cmd.Parameters.AddWithValue 添加参数时需要按照存储过程参数的顺序加入
  10. angularJs关于指令的一些冷门属性
  11. RabbitMQ消息队列(二):”Hello, World“
  12. docker 初识之二(简单发布ASP.NET Core 网站)
  13. web端/h5端账号密码的安全性问题
  14. c# Nlog 非xml cs方法配置
  15. 编码问题 php字符编码转换类
  16. 2018-2019-2 《网络对抗技术》Exp3 免杀原理与实践 20165215
  17. 解决 Cannot get IBus daemon address 问题
  18. MS SQL 数据库所在C盘变得很大解决办法
  19. angularjs 的模型无法绑定到隐藏域(input hidden)
  20. Configuring Groovy SDK within IntelliJ IDEA

热门文章

  1. SpringBoot项目中,cookie的设置与销毁
  2. nginx展示文件目录
  3. 使用 nodejs 和 axios 以及 cherrio 爬取天气预报
  4. 命令行创建 vue 项目(仅用于 Vue 2.x 版本)
  5. 大哥带的MSsql注入(SQL Server)--预习
  6. Future 和 CompletableFuture 异步任务 in Java
  7. 关于vue给对象新增属性页面不会动态更新
  8. SVN重命名后,不允许提交
  9. jQuery file upload callback options
  10. 使用System.ComponentModel.DataAnnotations验证字段数据正确性