题目描述

花匠栋栋种了一排花,每株花都有自己的高度。花儿越长越大,也越来越挤。栋栋决定

把这排中的一部分花移走,将剩下的留在原地,使得剩下的花能有空间长大,同时,栋栋希

望剩下的花排列得比较别致。

具体而言,栋栋的花的高度可以看成一列整数h1,h2..hn。设当一部分花被移走后,剩下的花的高度依次为g1,g2..gn,则栋栋希望下面两个条件中至少有一个满足:

条件 A:对于所有g(2i)>g(2i-1),g(2i)>g(2i+1)

条件 B:对于所有g(2i)<g(2i-1),g(2i)<g(2i+1)

注意上面两个条件在m = 1时同时满足,当m > 1时最多有一个能满足。

请问,栋栋最多能将多少株花留在原地。

输入输出格式

输入格式:
输入文件为 flower .in。

输入的第一行包含一个整数n,表示开始时花的株数。

第二行包含n个整数,依次为h1,h2..hn,表示每株花的高度。

输出格式:
输出文件为 flower .out。

输出一行,包含一个整数m,表示最多能留在原地的花的株数。

输入输出样例

输入样例#1:
5
5 3 2 1 2

输出样例#1:
3

分析:
不要看上面的描述这么恶心,其实就是在一个无序数列中
找到尽量多的数,组成一个波浪序列

这里写代码片
#include<cstdio>
#include<iostream>
#include<cstring>using namespace std;int n; int main()
{scanf("%d",&n);int now,fro,tt=0;int f=-1;if (n<=2) {printf("%d",n);return 0;}for (int i=1;i<=n;i++){scanf("%d",&now);if (i==1){fro=now;continue;} if (f==-1){if (now<fro) f=0,tt++;  //downelse if (now>fro) f=1,tt++;fro=now;continue;}if (now<fro&&f==1){tt++;f=0;}else if (now>fro&&f==0){tt++;f=1;}fro=now;}printf("%d",tt+1);
}

转载于:https://www.cnblogs.com/wutongtong3117/p/7673540.html

luogu1970 花匠相关推荐

  1. Luogu 1970 NOIP2013 花匠 (贪心)

    Luogu 1970 NOIP2013 花匠 (贪心) Description 花匠栋栋种了一排花,每株花都有自己的高度.花儿越长越大,也越来越挤.栋栋决定把这排中的一部分花移走,将剩下的留在原地,使 ...

  2. 花匠(最长波浪子序列——DP + 权值线段树)

    题目描述 花匠栋栋种了一排花,每株花都有自己的高度.花儿越长越大,也越来越挤.栋栋决定把这排中的一部分花移走,将剩下的留在原地,使得剩下的花能有空间长大,同时,栋栋希望剩下的花排列得比较别致. 具体而 ...

  3. [NOIP2013]花匠

    [NOIP2013]花匠 花匠栋栋种了一排花,每株花都有自己的高度.花儿越长越大,也越来越挤.栋栋决定把这排中的一部分花移走,将剩下的留在原地,使得剩下的花能有空间长大,同时,栋栋希望剩下的花排列得比 ...

  4. 花匠(codevs 3289)题解

    [问题描述] 花匠栋栋种了一排花,每株花都有自己的高度.花儿越长越大,也越来越挤.栋栋决定把这排中的一部分花移走,将剩下的留在原地,使得剩下的花能有空间长大,同时,栋栋希望剩下的花排列得比较别致. 具 ...

  5. NOIP2013 花匠解题报告

    //<NOIP2013> 花匠 /*最优子结构性质,可以用动规.注意到存在30%的变态数据(1 ≤ n ≤ 100,000,0 ≤ h_i ≤1,000,000),因此应当找到线性的算法. ...

  6. 【NOIP2013提高组】花匠

    题目背景 NOIP2013 提高组 Day2 试题. 题目描述 花匠栋栋种了一排花,每株花都有自己的高度.花儿越长越大,也越来越挤.栋栋决定把这排中的一部分花移走,将剩下的留在原地,使得剩下的花能有空 ...

  7. NOIP2013 花匠 题解(方法全面)

    2.花匠 (flower.cpp/c/pas) [问题描述] 花匠栋栋种了一排花,每株花都有自己的高度.花儿越长越大,也越来越挤.栋栋决定把这排中的一部分花移走,将剩下的留在原地,使得剩下的花能有空间 ...

  8. 腾讯2019技术岗笔试 花匠小Q 花匠小Q养了两种花,一种白花,一种红花,现在小Q用这些花进行摆放,摆放的时候连续的白花的数量只能是K的倍数(倍数可以是0),不然就会枯萎。现在给出a和b,小Q想知道长

    花匠小Q养了两种花,一种白花,一种红花,现在小Q用这些花进行摆放,摆放的时候连续的白花的数量只能是K的倍数(倍数可以是0),不然就会枯萎.现在给出a和b,小Q想知道长度为[a,b]的摆花方案中有多少种 ...

  9. 花匠(东方化改题+无题解)

    (这是一道往年noip的题) [问题描述] 花妈幽香种了一排花,每株花都有自己的高度.花儿越长越大,也越来越挤.幽香决定 把这排中的一部分花移走,将剩下的留在原地,使得剩下的花能有空间长大,同时,幽香 ...

  10. code3289 花匠

    题目大意是求一个最长的抖动的子序列 题解中有一个大神写下了这样的代码: #include<cstdio> int n,a=1,b=1,x,y; int mmax(int a,int b) ...

最新文章

  1. 2019 数据竞赛年鉴联合发布!250页竞赛方案合集
  2. 17.ubuntu18.04解决压缩包乱码问题
  3. 深港澳大湾区(深圳).NET技术交流会圆满成功
  4. go 服务器 源码,LollipopGo开源游戏服务器框架--global服务器源码
  5. NetCore NW714 v2.0路由器TTL救砖
  6. [css] 如何自定义radio按钮的样式
  7. 最优化学习笔记(四)——最速下降法
  8. 全世界关于数学家和科学家的电影
  9. python中的一个现象,db.commit和db.commit()
  10. 51 nod 1405 树的距离之和
  11. 防止列宽被撑破的办法,通过css控制
  12. JavaWeb-文件上传和下载
  13. TestCenter测试管理工具问题详解(3)
  14. connect holder is null问题记录
  15. hehehehehe
  16. 沙特阿美以246亿元收购荣盛石化10%股份,还将在中国东北建设大型炼化一体化项目...
  17. 黑马linux系统编程
  18. MySQL 连接挂死了!该如何排查?
  19. 松下服务器编码器由谁该信号,松下伺服电机编码器判断好坏的方法以及功能和作用...
  20. 初步认识地图布局和指北针 - SuperMap iDesktop 8C

热门文章

  1. php 之将图片转换base64编码(为百度ocr作准备,解决 image format error)
  2. 李炎恢老师的javascript的讲义以及 附带着javascript手册
  3. 开局崩盘!IDEA 2020 无法启动的解决办法|赠送 IDEA 2020 新功能
  4. 创建WEBPARTS全过程
  5. 阶段1 语言基础+高级_1-3-Java语言高级_05-异常与多线程_第2节 线程实现方式_11_Thread类的常用方法_sleep...
  6. IBM的人工智能“沃森”首次确诊罕见白血病,只用了10分钟!
  7. SpringMVC:学习笔记(7)——验证器(JSR303)
  8. 学习笔记-AngularJs(三)
  9. android 禁用和开启四大组件的方法(setComponentEnabledSetting )
  10. 深入JavaScript之获取cookie以及删除cookie