HAOI2009 逆序對數列

2022-04-30 03:42:07 字數 549 閱讀 7250

題目大意:求\([1,n]\)的自然數的排列中逆序對數為\(k\)的有多少.

無優化
#include #include const int mod = 10000;

int f[1005][1005];

int main()}}

printf("%d\n", f[n][k]);

return 0;

}

優化
#include #include const int mod = 10000;

int f[1005][1005], sum[1005];

int main()//更新字首和,這裡的要注意下這個字首和代表的比較特殊,不是普通的i到j是sum[i]-sum[j-1],得加1

for(int j = 1; j <= k; ++j)//字首和減去不能達到的

}printf("%d\n", f[n][k]);

return 0;

}

HAOI 2009 逆序對數列

haoi 2009 逆序對數列 對於乙個數列,如果有iaj,那麼我們稱ai與aj為一對逆序對數。若對於任意乙個由1 n自然數組成的 數列,可以很容易求出有多少個逆序對數。那麼逆序對數為k的這樣自然數數列到底有多少個?第一行為兩個整數n,k。寫入乙個整數,表示符合條件的數列個數,由於這個數可能很大,你...

HAOI2009 逆序對數列

對於乙個數列,如果有iaj,那麼我們稱ai與aj為一對逆序對數。若對於任意乙個由1 n自然數組成的數列,可以很容易求出有多少個逆序對數。那麼逆序對數為k的這樣自然數數列到底有多少個?輸入格式 第一行為兩個整數n,k。輸出格式 寫入乙個整數,表示符合條件的數列個數,由於這個數可能很大,你只需輸出該數對...

HAOI2009 逆序對數列

求乙個序列的逆序對數很自然的想到了樹狀陣列,方便又快捷。根據題目的意思,它所說的各種排列是將第乙個元素移至最後形成的排列,那麼我們就從這裡下手,對於第乙個元素它後面比它小的就一定都會形成逆序對,這樣對於當前的逆序對,在第乙個元素移至最後時,它的逆序對數就要減少這個元素的值,因為此題數值是連續的所以可...