NOIP2012模拟试题 121105【奶牛排队(tahort)
3、奶牛排队(tahort)
【 问题描述】
奶牛在熊大妈的带领下排成了一条直队。
显然,不同的奶牛身高不一定相同……
现在,奶牛们想知道,如果找出一些连续的奶牛,要求最左边的奶牛A是最矮的,最右边的B是最高的,且B高于A奶牛,中间如果存在奶牛,则身高不能和A、B奶牛相同。问这样的奶牛最多会有多少头?
从左到右给出奶牛的身高,请告诉它们符合条件的最多的奶牛数(答案可能是0,2,但不会是1)。
【输入】
第一行一个数N (2≤N≤l00000),表示奶牛的头数。
接下来N个数,每行一个数,从上到下表示从左到右奶牛的身高(1≤身高≤ maxlongint)。
【输出】
第一行,表示最多奶牛数。
【样例】
Tahort.in
5
1
2
3
4
1
Tahort.out
4
【样例解析】
取第1头到第4头奶牛,满足条件且为最多。
唔,注意两件事:
*1、不是最长不下降子序列啊喂!读题!(╯‵□′)╯︵┻━┻
*2、虽然这里用的是枚举+优化,但是标程是RMQ【懒得写
代码中已经有注释了=v=这里不再多说
#include<cstdio>
#include<cstring>
#include<ctime>
#include<algorithm>
using namespace std;
int n;
int ans=;
long long h[];
bool v[];
void work()
{
memset(v,,sizeof(v));
for(int i=n;i>;i--)//枚举右界
{
for(int j=i-;j>=;j--)//枚举左界
{
if(h[i]<=h[j]) break;//如果左界比右界大,不成立,退出;
bool flag=true;
for(int k=j+;k<i;k++)//枚举左右界之间的数是否使当前情况成立;
{
if(h[k]<=h[j]||h[k]>=h[i])//不满足退出;
{
flag=false;
break;
}
}
if(flag)
{
ans=max(ans,i-j+);
}
if(ans==n){//如果当前数列长度为 n,直接退出;
printf("%d ",ans);
return;
}
}
}
printf("%d ",ans);
}
void read()
{
scanf("%d",&n);
for(int i=;i<=n;i++) scanf("%lld",&h[i]);
}
int main()
{
freopen("tahort.in","r",stdin);
freopen("tahort.out","w",stdout);
read();
work();
return ;
}
NOIP2012模拟试题 121105【奶牛排队(tahort)的更多相关文章
- NOIP2012模拟试题【奶牛晒衣服】
1.奶牛晒衣服(dry) [问题描述] 在熊大妈英明的带领下,时针和它的同伴生下了许多牛宝宝.熊大妈决定给每个宝宝都穿上可爱的婴儿装.于是,为牛宝宝洗晒衣服就成了很不爽的事情. 圣人王担负起了这个重任 ...
- NOIP2012模拟试题【圆圈舞蹈( circle)
2.圆圈舞蹈( circle) [问题描述] 熊大妈的奶牛在时针的带领下,围成了一个圆圈跳舞.由于没有严格的教育,奶牛们之间的间隔不一致. 奶牛想知道两只最远的奶牛到底隔了多远.奶牛A到B的距离为A顺 ...
- 【NOIP2012模拟8.7】JZOJ2020年8月8日提高组T1 奶牛编号
[NOIP2012模拟8.7]JZOJ2020年8月8日提高组T1 奶牛编号 题目 作为一个神秘的电脑高手,Farmer John 用二进制数字标识他的奶牛. 然而,他有点迷信,标识奶牛用的二进制数字 ...
- 冲刺NOIP2015提高组复赛模拟试题(五)2.道路修建
2.道路修建 描述 Description liouzhou_101最悲痛的回忆就是NOI2011的道路修建,当时开了系统堆栈,结果无限RE… 出于某种报复心理,就把那题神奇了一下: 在 Z星球上有N ...
- 模拟试题C
模拟试题C 一.单项选择题(2′*14 =28′) 1.双线性法向插值法(Phong Shading)的优点是( ) A)法向计算精确 B)高光域准确 C)对光源和视点没有限制 D)速度较快 2.用编 ...
- 模拟试题B
模拟试题B 一.单项选择题(2′*8 =16′) 1.灰度等级为256级,分辨率为2048*1024的显示器,至少需要的帧缓存容量为( ) A)512KB B)1MB C)2MB D)3MB 2.在多 ...
- 模拟试题A
模拟试题A 一.单项选择题(2′*12=24′) 1.下面各种坐标变换中,会产生变换前后维度的改变的是( ) A)建模变换 B)观察变换 C)投影变换 D)视口变换 2.下列描述深度缓冲消隐算法的特点 ...
- CCF 模拟试题——出现次数最多的数 官方答案解析及自己写的正确答案
前几天知道的CCF计算机职业资格认证考试,觉得好像比软考含金量高一些,就去了解了一下,做了模拟试题中的 “出现次数最多的数” 这道题,我的算法和官方答案算法不同,个人觉得觉得官方的好一点,没那么繁琐, ...
- 神奇的Noip模拟试题一试 2 排队
2 排队 (lineup.pas/.c/.cpp) [问题描述] 小sin所在的班有n名同学,正准备排成一列纵队,但他们不想按身高从矮到高排,那样太单调,太没个性.他们希望恰好有k对同学是高的在前,矮 ...
随机推荐
- 黑马程序员 Java基础<九>---> 多线程
ASP.Net+Android+IOS开发..Net培训.期待与您交流! 多线程 一.概述: 1.线程是什么 说到线程,我们就得先说说进程.所谓进程,就是一个正在执行(进行)中的程序,每一个进程执行都 ...
- HDU 1757 A Simple Math Problem(矩阵高速幂)
题目地址:HDU 1757 最终会构造矩阵了.事实上也不难,仅仅怪自己笨..= =! f(x) = a0 * f(x-1) + a1 * f(x-2) + a2 * f(x-3) + -- + a9 ...
- Do we need other languages other than C and C++?
There were hundreds of or thousands of programming languages created since the invention of computer ...
- C#整理6——数组的应用
数组的应用:(一).冒泡排序.1.冒泡排序是用双层循环解决.外层循环的是趟数,里层循环的是次数.2.趟数=n-1:次数=n-趟数.3.里层循环使用if比较相临的两个数的大小,进行数值交换. 作业:1. ...
- DRBD脑裂解决方法
1.查看主服务器 [root@master ~]# /etc/init.d/drbd status drbd driver loaded OK; device status: version: (ap ...
- Android L 之 RecyclerView 、CardView 、Palette
转: http://blog.csdn.net/xyz_lmn/article/details/38735117 <Material Design>提到,Android L版本中新增了Re ...
- nginx解决502错误
添加一个域名绑定,突然服务器就挂了.由于是接受项目,没看过服务器配置.结果nginx和mysql 都跑不起来. 平滑启动nginx失败. 检查/usr/local/nginx/sbin/nginx - ...
- Smarty3配置
下载Smarty压缩包并解压,复制其中的libs文件夹到我们的PHP工程目录下(可将其改名为smarty).同时,在工程目录下新建三个文件夹,分别取名为templates.templates_c和sm ...
- Android02-Activity01
1.概念:活动是一种可以包含用户界面的组件, 主要用于和用户进行交互. 2.常见操作: 1.隐藏Activity的标题栏: @Override protected void onCreate ...
- jQuery学习-事件之绑定事件(三)
在上一篇<jQuery学习-事件之绑定事件(二)>我们了解了jQuery的dispatch方法,今天我们来学习下handlers 方法: handlers: function( event ...