?? 现在给定k和n,要你按字典序输出 第n种排列的数列
而且题目给的 n是 n=S1(k-1)!+S2(k-2)!+...+Sk-1*1!+Sk*0!(0=
我们可以知道si表示i后面有多少个比a[i]小的数,这样一来首先想到的就是set,但是set不能顺序访问,所以可以用树状数组,初始时置1,消除后置0,然后二分来求和为si + 1的位置
代码如下:
?
#include
#include
#include
#include
#include
#include
#include
#include
?