改了半天结果不过
求大佬

题解原码
[题目传送门](https://www.luogu.com.cn/problem/P1970)
### 前言(无用的废话)
说实话这道题是一道十分简单的 DP,~~虽然我卡在这道题半个小时~~
### 正文
一看见这道题会想到贪心,但~~本蒟蒻~~刚学 DP ,想练练手。
1.分析条件
一看条件 $A$,$B$ 都很长,但我们一步一步翻译会发现
$A$ 的意思就是剩下的花的高度要交替上升和下降,$B$ 的意思就是剩下的花的高度要交替下降和上升。
2.思考转移方程(这是 DP 的关键)
由上面分析看出三条 DP 的转移方程
3.思考特殊样例
当 $n<2$ 即只有一朵花时要特判
$Code$
```cpp
#include<bits/stdc++.h>
using namespace std;
#define WHX985 return
#define code 0
int n,dp[1000005];
int ans=1;
bool flag;//建立开关
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>dp[i];//直接输入(直接在dp数组上动规)
}
if(n<2){//特判
cout<<1;
return 0;
}
if(dp[2]>=dp[1]){
flag=1;//设定开关的处值
}
for(int i=1;i<=n;i++){
if(flag==0&&i==n){//讲了的不讲了
ans++;
break;
}
if(flag==1){
if(dp[i+1]<dp[i]){
ans++;
flag=0;
continue;
}
}
if(flag==0){
if(dp[i+1]>dp[i]){
ans++;
flag=1;
continue;
}
}
}
cout<<ans;
WHX985 code;
}
引用了FastIO_DP的内容
感谢