haoi 2009 逆序對數列
對於乙個數列,如果有iaj,那麼我們稱ai與aj為一對逆序對數。若對於任意乙個由1~n自然數組成的
數列,可以很容易求出有多少個逆序對數。那麼逆序對數為k的這樣自然數數列到底有多少個?
第一行為兩個整數n,k。
寫入乙個整數,表示符合條件的數列個數,由於這個數可能很大,你只需輸出該數對10000求餘數後的結果。
4 13
樣例說明:
下列3個數列逆序對數都為1;分別是1 2 4 3 ;1 3 2 4 ;2 1 3 4;
100%的資料 n<=1000,k<=1000
f[i][j]表示前i個數逆序對為j的方案數,第i+1個數可以形成1~i個逆序對,字首和優化成n*n.
#include#include#include#include#include#include#include#include#include#include#include#define ll long long
using namespace std;
int n,k;
const int mod=10000;
int f[1005][1005];
int main()
}cout
}
HAOI2009 逆序對數列
題目大意 求 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 in...
HAOI2009 逆序對數列
對於乙個數列,如果有iaj,那麼我們稱ai與aj為一對逆序對數。若對於任意乙個由1 n自然數組成的數列,可以很容易求出有多少個逆序對數。那麼逆序對數為k的這樣自然數數列到底有多少個?輸入格式 第一行為兩個整數n,k。輸出格式 寫入乙個整數,表示符合條件的數列個數,由於這個數可能很大,你只需輸出該數對...
HAOI2009 逆序對數列
求乙個序列的逆序對數很自然的想到了樹狀陣列,方便又快捷。根據題目的意思,它所說的各種排列是將第乙個元素移至最後形成的排列,那麼我們就從這裡下手,對於第乙個元素它後面比它小的就一定都會形成逆序對,這樣對於當前的逆序對,在第乙個元素移至最後時,它的逆序對數就要減少這個元素的值,因為此題數值是連續的所以可...