题目:[NOIP2013 提高组] 花匠
题目原文请移步下面的链接
- https://www.luogu.com.cn/problem/P1970
- 参考题解:https://www.luogu.com.cn/problem/solution/P1970
- 标签:
OI
、NOIP
、动态规划
- 难度:
普及/提高-
题解
思路
- 大致上是求最长波动子序列,通过一个布尔值来判断该上升还是下降
- 题解大家可移步看这里,很多童鞋写了各种解法
- https://www.luogu.com.cn/problem/solution/P1970
代码
代码语言:javascript复制#include <bits/stdc .h>
using namespace std;
void coder() {
// freopen("flower.in", "r", stdin);
// freopen("flower.out", "w", stdout);
int n;
scanf("%d", &n);
vector<int> a(n 5);
for (int i = 0; i < n; i) {
scanf("%d", &a[i]);
}
bool b = false;
if (a[1] >= a[0]) {
b ^= 1;
}
int solve = 1;
if (n == 1) {
printf("%d", 1);
return;
}
for (int i = 0; i < n; i) {
if (!b && i == n - 1) {
solve;
break;
}
if (b) {
if (a[i 1] < a[i]) {
solve;
b ^= 1;
continue;
}
}
if (!b) {
if (a[i 1] > a[i]) {
solve;
b ^= 1;
continue;
}
}
}
printf("%d", solve);
// fclose(stdin);
// fclose(stdout);
}
void best() {
}
int main() {
//best();
coder();
return 0;
}
END