您的位置:首页 > 其它

[noip2013]花匠 题解

2017-10-26 22:12 176 查看
一句话题意:求最长的波动子序列。

其实可以当作一个结论记住,只要贪心地选就好了。注意判断相等情况,再用一个tmp记录一下上一次的大小关系,这样就十分简单了。

#include<bits/stdc++.h>
using namespace std;
int last,now,tmp;
int n,cnt;
int main()
{
scanf("%d",&n);
scanf("%d",&last);
for(int i=2;i<=n;i++)
{
scanf("%d",&now);
if(now-last)
if(tmp==0||(now<last&&tmp>0)||(now>last&&tmp<0))
cnt++,tmp=now-last;
last=now;
}
cout<<++cnt;
return 0;
}


D2两道题的代码长度都好短呀。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: