ZOJ 1201 排列與逆序數相互轉換

2021-08-31 14:28:52 字數 608 閱讀 2279

逆序數:在乙個排列中,如果一對數的前後位置與大小順序相反,即前面的數大於後面的數,那麼它們就稱為乙個逆序。

如:p 5 9 1 8 2 6 4 7 3

i 2 3 6 4 0 2 2 1 0

1前面比1大的有2個

2前面比2大的有3個

3前面比3大的有6個。。。。

1201:在permutation 和inversion之間轉換。

思路:p-->i

雙重迴圈,對每個數統計前面比它大的有幾個

i-->p

雙重迴圈。從最小的開始排起,每次從頭掃瞄,給比它大的值留下空位。

#include

#include

#include

using namespace std;

int res[51];

int src[51];

void p2i(int n)

res[i]=count;}}

void i2p(int n)}}

}int main()

else

break;

for(int i=1;icout

zoj 3747 排列組合dp

題意 現在要挑選n個士兵成為乙個排列,從三個不同的軍團之中,第乙個軍團最少u個人連續站在一起,第二個軍團最多有v個士兵站在一起,問有多少種不同的挑選方式。思路 對於最多和最少問問題盡量轉化為最多的問題,比如第乙個軍團的限制條件,那麼在求的時候轉化為最多有i個人。排列組合計數問題很容易從前乙個狀態推到...

6 3 排列與組合

排列具有n個不同元素的集合的r排列數是 p n,r n n 1 n 2 n r 1 先解釋一下這裡的r的含義啊。就是要排列多少長度。比如p 10,3 就是10個元素排3個長度,那排列數自然是10 9 8,理解很簡單,第乙個位子有10個可選值,第二個有9個可選值,因為第乙個位置已經使用掉了乙個元素,同...

1 4 排列與分列

order by 語句用於根據指定的列對結果集進行排序。order by 語句預設按照asc公升序對記錄進行排序 語法 order by 欄位名 asc desc select studentno from student order by student desc 使用降序 語法 limit 第幾...