zoukankan      html  css  js  c++  java
  • 逆序数还原(FZU)

    逆序数还原
    Accept: 244 Submit: 451
    Time Limit: 1000 mSec Memory Limit : 32768 KB
    Problem Description

    有一段时间Eric对逆序数充满了兴趣,于是他开始求解许多数列的逆序数(对于由1…n构成的一种排列数组a,逆序数即为满足ij,ai>aj的数字对数),但是某天他发现自己遗失了原来的数列,只留下之前计算过程中留下的各个数字对应的逆序数,现在请你帮他还原出原序列。
    Input

    数据有多组,请处理到文件结尾。

    每组数据第一行为一个整数N(1<=N<=1000),表示该序列的数字个数。

    第二行为N个整数,第i个数字表示排在ai之后比ai小的数字个数。
    Output

    输出为一行N个整数,表示原数列。
    Sample Input
    5
    2 0 1 0 0
    Sample Output
    3 1 4 2 5
    用vector实现

    #include <set>
    #include <map>
    #include <list>
    #include <stack>
    #include <cmath>
    #include <vector>
    #include <queue>
    #include <string>
    #include <cstdio>
    #include <cstdlib>
    #include <cstring>
    #include <iostream>
    #include <algorithm>
    #define PI cos(-1.0)
    #define RR freopen("input.txt","r",stdin)
    
    using namespace std;
    
    typedef long long LL;
    
    const int MAX = 1e5;
    
    int n;
    int a[1100];
    
    int main()
    {
        int data;
        while(~scanf("%d",&n))
        {
            vector<int>Q;
            vector<int>::iterator it;
            for(int i=1;i<=n;i++)
            {
                Q.push_back(i);
            }
            for(int i=1;i<=n;i++)
            {
                scanf("%d",&data);
                a[i]=Q[data];
                it=Q.begin()+data;
                Q.erase(it);
            }
            for(int i=1;i<=n;i++)
            {
                if(i!=1)
                {
                    printf(" ");
                }
                printf("%d",a[i]);
            }
            printf("
    ");
        }
        return 0;
    }
    
  • 相关阅读:
    PDO扩展
    阿里云ECS VSFTP上传本地文件
    Nginx+lua_Nginx+GraphicsMagick来实现实时缩略图
    Mysql 5.6主从同步配置与解决方案
    windows安装配置mongodb及图形工具MongoVUE
    安装phpredis扩展以及phpRedisAdmin工具
    Redis安装配置以及开机启动
    CentOS安装Git服务器 Centos 6.5 + Git 1.7.1.0 + gitosis
    OpenStack 入门3
    Openstack 入门2
  • 原文地址:https://www.cnblogs.com/juechen/p/5255947.html
Copyright © 2011-2022 走看看