uva 11525排列(樹狀數組 + 二分)
現在給定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