| 题目名称 | 1119. [郑州培训2012] 数列的排序 |
|---|---|
| 输入输出 | sortb.in/out |
| 难度等级 | ★★ |
| 时间限制 | 1000 ms (1 s) |
| 内存限制 | 128 MiB |
| 测试数据 | 10 |
| 题目来源 |
|
| 开放分组 | 全部用户 |
| 提交状态 | |
| 分类标签 | |
| 分享题解 |
| 通过:2, 提交:5, 通过率:40% | ||||
|
|
100 | 0.036 s | 0.70 MiB | C++ |
|
|
100 | 0.045 s | 0.70 MiB | C++ |
|
|
60 | 4.004 s | 0.70 MiB | C++ |
|
|
30 | 0.055 s | 0.70 MiB | C++ |
|
|
0 | 0.036 s | 0.70 MiB | C++ |
| 关于 数列的排序 的近10条评论(全部评论) | ||||
|---|---|---|---|---|
|
没人吗
| ||||
|
吓傻了
2017-07-13 10:34
2楼
| ||||
|
吓傻了
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。