Inversion Sequence

Problem's Link:   http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1555


Mean:

给你一个序列a[n],要你按照要求去构造一个序列b。

序列a[i]表示序列b中的i前面有a[i]个数比i大。

转换一下就是:

已知一个连续的序列(1,2,3,4,...),然后告诉了我们这个序列中每个数前面比本身大的个数,根据这些条件将这个序列调整顺序,找到满足条件的序列。

analyse:

STL大法好。直接用vector来insert。

Time complexity: O(nlogn)

Source code: 

//  Memory   Time
// 1347K 0MS
// by : crazyacking
// 2015-03-29-23.24
#include<map>
#include<queue>
#include<stack>
#include<cmath>
#include<cstdio>
#include<vector>
#include<string>
#include<cstdlib>
#include<cstring>
#include<climits>
#include<iostream>
#include<algorithm>
#define MAXN 1000010
#define LL long long
using namespace std;
const int maxn = ;
int a[maxn];
int ans[maxn];
vector<int>v; int main(){
// freopen("data.in","r",stdin);
int n;
while(scanf("%d",&n)!=EOF){
for(int i=;i<n;i++){
scanf("%d",&a[i]);
}
v.clear();
v.push_back();
int ok=;
for(int i=n-;i>=;i--)
{
if(v.size()<=a[i])
{
ok=;
break;
}
v.insert(v.begin()++a[i],i+);
// for(int j=0;j<v.size();j++)
// printf("%d%c",v[j],j==v.size()-1?'\n':' ');
}
if(ok){
for(int i=;i<=n;i++){
printf("%d%c",v[i],i==n?'\n':' ');
}
}else{
puts("No solution");
}
}
return ;
} /**************************************************************
Problem: 1555
User: crazyacking
Language: C++
Result: Accepted
Time:164 ms
Memory:1576 kb
****************************************************************/

最新文章

  1. 拥抱基于jquery.deferred的ajax,和层层嵌套回调的ajax说拜拜
  2. nodejs的第三天学习笔记
  3. The Triumph Of Bio-logic
  4. Java中唯一数的生成
  5. jq实现地址级联效果
  6. Java服务器热部署的实现原理
  7. Hbiernate关联排序问题
  8. Java中泛型 类型擦除
  9. iOS 之 后台下载,前台显示模式,双 block
  10. 深入浅出AQS之组件概览
  11. jsp/servlet相关技术及知识
  12. 已有使用Key登陆机器,创建新账号并使用新Key登陆
  13. UML(聚合、组合、依赖、继承、接口、类)
  14. 基于Ubuntu系统XAMPP环境安装以及DVWA渗透测试系统安装(详解的不能再详解了)
  15. centos7安装python3.6后导致防火墙功能无法正常工作的解决办法
  16. Synchronized、lock、volatile、ThreadLocal、原子性总结、Condition
  17. ionic中数据进行操作后,需要直接显示改变后的数据,数据刷新
  18. LeetCode 896 Monotonic Array 解题报告
  19. Daily Scrum - 12/03
  20. map练习

热门文章

  1. Codeforces Round #160 (Div. 1) 题解【ABCD】
  2. mysql 关键字 字段 转义
  3. openssl 学习之从证书中提取RSA公钥N 和 E
  4. Spring3系列12- Spring AOP AspectJ
  5. Ajax加载子域跨站cookie丢失的问题.
  6. mvc 分页视图 js 失效
  7. JS/React 判断对象是否为空对象
  8. saiku 升级&amp;备份&amp;恢复
  9. Ranorex入门指南
  10. 【转】 SVM算法入门