• 奶牛排队


    题意

    【问题描述】

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

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

    现在,奶牛们想知道,如果找出一些连续的奶牛,要求最左边的奶牛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;
    }
  • 相关阅读:
    .vue文件在phpstorm中红线解决办法
    javascript预编译详解
    javascript数据类型判断及数据隐式和显示转换
    用git版本库工具上传项目到github(新手简单易上手)
    javascript的数据运算和条件判断
    javascript基础类型和引用类型
    uniapp开发钉钉小程序遇到的坑!!!
    pdf解析器 用于小程序 h5
    百度的Ueditor(php)上传到aws s3存储方案
    css3 pointer-event属性
  • 原文地址:https://www.cnblogs.com/darlingroot/p/10759814.html
Copyright © 2020-2023  润新知