奶牛排队(代码片段)

darlingroot darlingroot     2022-11-30     180

关键词:

题意

 

【问题描述】

奶牛在熊大妈的带领下排成了一条直队。

显然,不同的奶牛身高不一定相同……

现在,奶牛们想知道,如果找出一些连续的奶牛,要求最左边的奶牛A 是最矮的,最右边的B 是最高的,且B 高于A 奶牛,

且中间如果存在奶牛,则身高不能和A、B 奶牛相同,

问这样的一些奶牛最多会有多少头。

从左到右给出奶牛的身高,请告诉它们符合条件的最多的奶牛数(答案可能是零、二,但不会是一)。

【输入格式】

第一行一个数N(2<=N<=100000),表示奶牛的头数。

接下来N 个数, 每行一个数, 从上到下表示从左到右奶牛的身高( 1<= 身高<=maxlongint)。

【输出格式】

一行,表示最多奶牛数。

【输入样例】Tahort.in

5

1

2

3

4

1

【输出样例】Tahort.out

4

【样例解析】

取第1 头到第4 头奶牛,满足条件且为最多。

 

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

我实在是太弱了

题意都看错了

在最矮的奶牛和最高的奶牛之间的奶牛 高度可以是打乱的

而我

按照严格上升来做的

(竟然也水到了20分)

真是ggg

 

大佬说

这是个模拟qwq

 

#include<cstdio>
#include<algorithm>
using namespace std;

const int maxn = 100010;
int n,ans;
int v[maxn],que[maxn];//v[i]就是奶牛的高度,que[i]表示以i为结尾最长队列 

int main()

    scanf("%d",&n);
    for(int i = 1;i <= n;i++)
        scanf("%d",&v[i]);
    for(int i = 1;i <= n;i++)//遍历以每个奶牛为结尾的最长队列 
    
        int id = i - 1,j = i - 1;
        while(j)
        
            if(v[j] >= v[i])
                break;
            //如果i奶牛前面的奶牛比i奶牛高,那么i奶牛一定无法合并到前面的队列中,那么当前的最长的队列,还和以前的一样 
            if(v[que[j] + 1] < v[id + 1])
                id = que[j];
                //在j<i且以j为结尾的队列的开头小于以i为结尾的队列的开头时,两队列可以合并 
            j = que[j];
            //向前找前一个(未合并的)队列 
        
        que[i] = id;
        ans = max(ans , i - id);
    
    if(ans == 1)
        ans = 0;
    printf("%d",ans);
    return 0;

 

woj1109奶牛排队(代码片段)

题目链接:WOJ1109题目描述:奶牛在熊大妈的带领下排成了一条直队。显然,不同的奶牛身高不一定相同……现在,奶牛们想知道,如果找出一些连续的奶牛,要求最左边的奶牛A是最矮的,最右边的B是最高的,且B高于A奶牛,且... 查看详情

2020.07.16模拟2(代码片段)

A.Layout题目描述和人类一样,奶牛们在打饭的时候喜欢和朋友站得很近。约翰的编号为1到n的n只奶牛正打算排队打饭。现在请你来安排她们,让她们在数轴上排好队。奶牛的弹性很好,同一个坐标可以站无限只奶牛,排队的顺序... 查看详情

layout「差分约束」(代码片段)

Layout「差分约束」题目描述和人类一样,奶牛们在打饭的时候喜欢和朋友站得很近。约翰的编号为1到n的n(2<=n<=1000)只奶牛正打算排队打饭。现在请你来安排她们,让她们在数轴上排好队。奶牛的弹性很好,同一个坐标可以站... 查看详情

奶牛抗议(代码片段)

题目Description约翰家的N头奶牛正在排队游行抗议。一些奶牛情绪激动,约翰测算下来,排在第i位的奶牛的理智度为Ai,数字 可正可负。约翰希望奶牛在抗议时保持理性,为此,他打算将这条队伍分割成几个小组,每个抗议小... 查看详情

lougup2344奶牛抗议(代码片段)

题目背景GenericCowProtests,2011Feb题目描述约翰家的N头奶牛正在排队游行抗议。一些奶牛情绪激动,约翰测算下来,排在第i位的奶牛的理智度为Ai,数字可正可负。约翰希望奶牛在抗议时保持理性,为此,他打算将这条队伍分割成几... 查看详情

题解晚餐队列安排(代码片段)

...目描述    为了避免餐厅过分拥挤,FJ要求奶牛们分2批就餐。每天晚饭前,奶牛们都会在餐厅前排队入内,按FJ的设想,所有第2批就餐的奶牛排在队尾,队伍的前半部分则由设定为第1批就餐的奶牛占据。由于奶牛... 查看详情

bzoj1609麻烦的聚餐(代码片段)

题目描述为了避免餐厅过分拥挤,FJ要求奶牛们分3批就餐。每天晚饭前,奶牛们都会在餐厅前排队入内,按FJ的设想,所有第3批就餐的奶牛排在队尾,队伍的前端由设定为第1批就餐的奶牛占据,中间的位置就归第2批就餐的奶牛... 查看详情

poj2182逆推暴力(代码片段)

...告诉有n头牛,每头牛有一个编号1~n,再一次烂醉之后,奶牛们没有按照编号排队;告诉你对于第i头奶牛,在它之前有多少头奶牛比它的编号小(i>1,因为第1头奶牛的数据永远为0,故题中省略),求每头奶牛的编号 从后往前... 查看详情

笔试算法题目,奶牛排队喝水

import java.util.*;/** *CreatedbyDaxinon2017/8/19. *<p/> *奶牛排队饮水问题 *输入:n牛的数目,然后n个整数表示牛的序号 *输出:输出交换最少次数 *<p/> *例如一个测试用例:9<br> *2,2,1,3,3,3 查看详情

笔试算法题目,奶牛排队喝水

题目:题目描述 有N(1≤N≤1000)头奶牛,它们都被标上一个优先等级编号:1,2或3。用来表示它们喝水时的优先次序,编号为l的最优先,编号为2的其次,编号为3的最后。每天奶牛开始时排成一行,但总是很乱,需要你把它们... 查看详情

[usaco2018open]milkingorder(代码片段)

DescriptionFarmerJohn的N头奶牛(1≤N≤10^5),仍然编号为1…N,正好闲得发慌。因此,她们发展了一个与FarmerJohn每天早上为她们挤牛奶的时候的排队顺序相关的复杂的社会阶层。经过若干周的研究,FarmerJohn对他的奶牛的社会结构总... 查看详情

奶牛排序——rmq(代码片段)

【问题描述】奶牛在熊大妈的带领下排成了一条直队。显然,不同的奶牛身高不一定相同……现在,奶牛们想知道,如果找出一些连续的奶牛,要求最左边的奶牛A是最矮的,最右边的B是最高的,且B高于A奶牛,且中间如果存在... 查看详情

奶牛会展(代码片段)

题目背景奶牛想证明它们是聪明而风趣的。为此,贝西筹备了一个奶牛博览会,她已经对N头奶牛进行了面试,确定了每头奶牛的智商和情商。题目描述贝西有权选择让哪些奶牛参加展览。由于负的智商或情商会造成负面效果,... 查看详情

java寻找公牛和奶牛(代码片段)

查看详情

p1578奶牛浴场(代码片段)

题目描述由于John建造了牛场围栏,激起了奶牛的愤怒,奶牛的产奶量急剧减少。为了讨好奶牛,John决定在牛场中建造一个大型浴场。但是John的奶牛有一个奇怪的习惯,每头奶牛都必须在牛场中的一个固定的位置产奶,而奶牛显... 查看详情

usaco2004moofest奶牛集会(代码片段)

题目问题描述约翰的n头奶牛每年都会参加“哞哞大会”。哞哞大会是奶牛界的盛事。集会上的活动很多,比如堆干草,跨栅栏,摸牛仔的屁股等等。它们参加活动时会聚在一起,第i头奶牛的坐标为Xi,没有两头奶牛的坐标是相... 查看详情

奶牛的聚会(代码片段)

农历新年马上就要到了,奶牛们计划举办一次聚会庆祝新年的到来。但是,奶牛们并不喜欢走太远的路,这会给他们的聚会带来消极情绪,当一头奶牛的消极指数为 w_iwi? ,他参加聚会所需行走的距离为 s_isi? ,那... 查看详情

奶牛家谱cowpedigrees(代码片段)

令人窒息的奶牛题题目描述农民约翰准备购买一群新奶牛。在这个新的奶牛群中,每一个母亲奶牛都生两个小奶牛。这些奶牛间的关系可以用二叉树来表示。这些二叉树总共有N个节点(3<=N<200)。这些二叉树有如下性质:每一个... 查看详情