题目名称 | 1119. [郑州培训2012] 数列的排序 |
---|---|
输入输出 | sortb.in/out |
难度等级 | ★★ |
时间限制 | 1000 ms (1 s) |
内存限制 | 128 MiB |
测试数据 | 10 |
题目来源 | Makazeu 于2012-10-07加入 |
开放分组 | 全部用户 |
提交状态 | |
分类标签 | |
分享题解 |
通过:2, 提交:5, 通过率:40% | ||||
rewine | 100 | 0.036 s | 0.70 MiB | C++ |
rewine | 100 | 0.045 s | 0.70 MiB | C++ |
rewine | 60 | 4.004 s | 0.70 MiB | C++ |
rewine | 30 | 0.055 s | 0.70 MiB | C++ |
rewine | 0 | 0.036 s | 0.70 MiB | C++ |
关于 数列的排序 的近10条评论(全部评论) | ||||
---|---|---|---|---|
没人吗
| ||||
吓傻了
rewine
2017-07-13 10:34
2楼
| ||||
吓傻了
Hzoi_
2016-02-27 09:06
1楼
|
对于正整数N,则1到N这N个数可以构成N!种排列,把这些排列按照字典序从小到大列出。
如N=3时,列出1 2 3,1 3 2,2 1 3,2 3 1,3 1 2,3 2 1六个排列。
现在,给你排列{Pi},请你计算它后面的第K个排列{Qi}。
注意:这N!个排列是循环的,例如3 1 2后面的第2个排列是1 2 3。
输入包括两行。
第一行两个正整数N,K。
第二行N个正整数P1,P2,...,Pn。
一行N个整数,表示第K个排列。
3 2 1 3 2
2 3 1
对于30%的数据,1<=N<=10,1<=K<=100000。
对于60%的数据,1<=N<=1000,1<=K<=100000。
对于90%的数据,1<=N<=1000,1<=K<=10^18。
对于100%的数据,1<=N<=100000,1<=K<=10^18。