逆序数还原(FZU)
来源:互联网 发布:电脑板绘软件 编辑:程序博客网 时间:2024/05/19 00:56
逆序数还原
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("\n"); } return 0;}
0 0
- 逆序数还原(FZU)
- FZU oj 逆序数还原
- fzu 2184 逆序数还原
- FZU 2184 还原逆序数
- 【FZU 2184】 逆序数还原
- fzu 2184 逆序数还原(vector)
- Fzu 2184 逆序数还原【思维】
- 【FZU】2184 逆序数还原(线段树)
- FZU(2184)——逆序数还原
- 逆序数还原
- FZU2184【逆序数还原】
- FZU2184 逆序数还原
- 逆序数还原
- 逆序数还原
- 逆序数的还原
- Problem 2184 逆序数还原
- Problem 2184 逆序数还原
- Problem 2184 逆序数还原 (周赛 4)
- Java Socket 参数详解
- linux shell编程基础
- 自定义Gradle插件之"Hello World"
- Android UI之TextView实现图文混合效果
- [LeetCode] Insert Interval
- 逆序数还原(FZU)
- Unix环境高级编程概况
- create函数用法
- opencv学习(十)(opencv3.0.0+VS2012+win7)打开摄像头并且进行人脸识别的例子
- 2016年阿里C/C++开发笔试程序题三
- php get_object_vars()函数
- 如何自定义一个View,并动态设置style?
- UNIX环境高级编程(5):文件I/O(1)
- 架构必备:Rate limiting 的作用和常见方式