先想的n^2dp有个七八十分。
后来?!woc找拐点+1不就完了?
唉。
#include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #define maxn 100500 using namespace std; int n,h[maxn],k,ans=0; int main() { scanf("%d",&n); for (int i=1;i<=n;i++) scanf("%d",&h[i]); for (int i=2;i<=n;i++) { if ((h[i]>h[i-1]) && (k!=1)) {k=1;ans++;} if ((h[i]<h[i-1]) && (k!=2)) {k=2;ans++;} } printf("%d\n",ans+1); return 0; }