zoukankan      html  css  js  c++  java
  • poj2452

    题意:就是说给你一段区间,要你找出一段最长的区间,在这段区间的所有数都大于区间的第一个数、小于区间的最后一个数......输出区间的长度,若是长度为0则输出-1.

    4
    5 4 3 6
    4
    6 5 4 3
    思路:暴力吧,有些技巧。可以说是区间合并,往后找一个数,然后往前找它前面有多少个数比它小,并记录最小值,和最小值的位置,然后用当前值所在位置减去最小值所在位置,就是这段区间的结果,再把这结果保存到当前值所在位置,然后往下找.....
    #include<iostream>
    #include<cstdio>
    #include<cstring>
    using namespace std;
    #define M 50100
    struct node
    {
        int num;
        int sum;
    }s[M];
    int main()
    {
        int n;
        while(scanf("%d",&n)>0)
        {
            //memset(s,0,sizeof(s));
            for(int i=1;i<=n;i++)
            {
                scanf("%d",&s[i].num);
                s[i].sum=0;
            }
            int ans=0;
            for(int i=2;i<=n;i++)
            {
                int j=i-1;
                //int sum=0;
                int minx=100000000;
                int xxx=-1;
                while(j>=1)
                {
                    if(s[i].num>s[j].num)
                    {
                        if(s[j].sum==0)
                        {
                           //sum++;
                           if(s[j].num<minx)
                           {
                               minx=s[j].num;
                               xxx=j;
                           }
                           j--;
                        }
                        else
                        {
                            //sum+=s[j].sum;
                            j-=s[j].sum;
                        }
                    }
                    else
                    break;
                }
                if(xxx!=-1)
                s[i].sum=i-xxx;
                else
                s[i].sum=0;
                if(ans<s[i].sum)
                ans=s[i].sum;
            }
            if(ans==0)
            printf("-1
    ");
            else
            printf("%d
    ",ans);
        }
        return 0;
    }
    
  • 相关阅读:
    vim
    echo
    kill/xkill/killall/pkill/pidof
    ssh
    使用GSON
    使用GSON
    解析JSON
    解析JSON
    Pull解析方式
    Pull解析方式
  • 原文地址:https://www.cnblogs.com/ziyi--caolu/p/3357728.html
Copyright © 2011-2022 走看看