• K-th K


    题目描述

    You are given an integer sequence x of length N. Determine if there exists an integer sequence a that satisfies all of the following conditions, and if it exists, construct an instance of a.

    a is N2 in length, containing N copies of each of the integers 1, 2, …, N.
    For each 1≤i≤N, the i-th occurrence of the integer i from the left in a is the xi-th element of a from the left.
    Constraints
    1≤N≤500
    1≤xi≤N2
    All xi are distinct.

    输入

    The input is given from Standard Input in the following format:

    N
    x1 x2 … xN

    输出

    If there does not exist an integer sequence a that satisfies all the conditions, print 'No'. If there does exist such an sequence a, print 'Yes'.

    样例输入

    3
    1 5 9
    

    样例输出

    Yes
    #include <bits/stdc++.h>
    using namespace std;
    #define ll long long
    int a[255000];
    struct node
    {
        int num;
        int x;
    }s[2550];
    bool cmp(node a,node b)
    {
        return a.x<b.x;
    }
    int main()
    {
        int i,j,n;
        cin>>n;
        for(i=1;i<=n;i++){
            cin>>s[i].x;
            s[i].num=i;
        }
        sort(s+1,s+n+1,cmp);
        int now=1;
        for(i=1;i<=n;i++){
            a[s[i].x]=s[i].num;
            for(j=1;j<s[i].num;j++){
                while(a[now]) now++;
                a[now]=s[i].num;
            }
            if(now>s[i].x) {cout<<"No"<<endl;return 0;}
        }
        for(i=1;i<=n;i++){
            for(j=1;j<=n-s[i].num;j++){
                while(a[now]) now++;
                if(now<s[i].x) {cout<<"No"<<endl;return 0;}
                a[now]=s[i].num;
            }
        }
        cout<<"Yes"<<endl;
        return 0;
    }
    View Code

    For each 1≤i≤N, the i-th occurrence of the integer i from the left in a is the xi-th element of a from the left.

    就这句话。。。仔细读

    第i个i在下标为xi的地方。嗯

    这是贪心,先放上这些数字应在的位置

    再从小到大把i弄上去

    排除不可能的解

    不要忘记努力,不要辜负自己 欢迎指正 QQ:1468580561
  • 相关阅读:
    codevs1288 埃及分数
    [BZOJ1697][Usaco2007 Feb]Cow Sorting牛排序
    [BZOJ1628][Usaco2007 Demo]City skyline
    [Usaco2005 Mar]Out of Hay 干草危机
    [Usaco2008 Open]Cow Neighborhoods 奶牛的邻居
    [BZOJ1691][Usaco2007 Dec]挑剔的美食家
    [BZOJ1668][Usaco2006 Oct]Cow Pie Treasures 馅饼里的财富
    [BZOJ1593][Usaco2008 Feb]Hotel 旅馆
    [BZOJ1637][Usaco2007 Mar]Balanced Lineup
    [BZOJ1650][Usaco2006 Dec]River Hopscotch 跳石子
  • 原文地址:https://www.cnblogs.com/smallocean/p/8886703.html
Copyright © 2020-2023  润新知