zoukankan      html  css  js  c++  java
  • CF Codeforces Round #258 (Div. 2) B (451B)





    题意:找出一段逆序!

    预存a[]数组到b[]数组。将b排序,然后前后找不同找到区间[l,r],然后推断[l,r]是否逆序就能够了!。当然还得特判本身就是顺序的!!


    AC代码例如以下:


    #include<cstdio>
    #include<iostream>
    #include<cstring>
    #include<algorithm>
    using namespace std;
    
    int a[100005],b[100005];
    
    int main()
    {
        int n;
        int i;
        while(cin>>n)
        {
            memset(a,0,sizeof a);
            memset(b,0,sizeof b);
            for(i=0;i<n;i++)
                {cin>>a[i];
                b[i]=a[i];}
            sort(b,b+n);
            int flag1=1;
            for(i=0;i<n;i++)
            {
                if(a[i]!=b[i])
                {flag1=0;break;}
            }
            if(flag1)
            {
                cout<<"yes"<<endl<<"1"<<" "<<"1"<<endl;
                continue;
            }
            int flag=0;
            int l=0,r=n-1;
            for(i=0;i<n;i++)
            {
                if(a[i]!=b[i])
                {
                    l=i;
                    break;
                }
            }
             for(i=n-1;i>=0;i--)
            {
                if(a[i]!=b[i])
                {
                    r=i;
                    break;
                }
            }
            for(i=l+1;i<=r;i++)
            {
                if(a[i]>a[i-1])
                {flag=1;break;}
            }
            if(flag)
                cout<<"no"<<endl;
            else cout<<"yes"<<endl<<l+1<<" "<<r+1<<endl;
        }
        return 0;
    }


  • 相关阅读:
    找到IOS中的闪退日志
    day10-单元测试用例
    1、MySQL索引优化分析
    大话处理器-第2章-初识处理器
    sunset: dusk
    CK: 00
    My File Server: 1
    [luogu 5049] 旅行(数据加强版)
    [luogu p1081] 开车旅行
    [luogu p1613] 跑路
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/5204389.html
Copyright © 2011-2022 走看看