其他分享
首页 > 其他分享> > 洛谷P1970 花匠

洛谷P1970 花匠

作者:互联网

这题标签是dp,但是感觉直接上手模拟就行了。

将花的高度记在一张折线图上。

题意就是求这样一段曲折的数据波动的次数。

对于第一段,取第一段的任何一个点+第一个波峰都不会对答案产生印象。

所以题目的意思就是求一段数据的波峰波谷的数量。

#include<iostream>
using namespace std;
int n,q[1000005],ans=1;
bool p;
int main()
{
    cin>>n;
    for(int i=1;i<=n;i++) 
        cin>>q[i];
    if(q[2]>=q[1]) 
        p=1;
    for(int i=1;i<=n;i++)
    {
        if(p==0&&i==n)
        {
            ans++;
            break;
        }
        if(p==1&&q[i+1]<q[i]) 
            {
                ans++;
                p=0;
            }
        else if(p==0&&q[i+1]>q[i]) 
            {
                ans++;
                p=1;
            }
    }
    cout<<ans; 
}

 

标签:洛谷,题意,int,一段,花匠,波峰,ans,第一段,P1970
来源: https://www.cnblogs.com/nenT/p/11370209.html