P1970 花匠
Posted zhouxuanbodl
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了P1970 花匠相关的知识,希望对你有一定的参考价值。
思路
思路其实很简单,只要判断有几个“转折点”,再加上2个端点就可以了。注意:1.与前面的花高度恰好相同的点并不是转折点,所以要继承前面的点的上升或下降趋势;2.只有一株花的情况需要特判。
代码
#include<iostream> #include<cstdio> using namespace std; int n,ans,s,h[1000010]; int main() { cin>>n; for(int i=1;i<=n;i++) { scanf("%d",&h[i]); } if(h[1]>h[2]) s=1;//一开始特判。 for(int i=3;i<=n;i++) { if(h[i]==h[i-1]) continue;//相等的情况 。 if(h[i]<h[i-1]) { if(s==0) ans++,s=1; //现在下降刚才上升。 } else if(s==1) ans++,s=0;//现在上升刚才下降。 } cout<<ans+2;//输出转折点+2。 return 0; }
结束了………………
以上是关于P1970 花匠的主要内容,如果未能解决你的问题,请参考以下文章