BZOJ4403 序列統計 Lucas定理

2022-05-20 18:27:41 字數 991 閱讀 8990

給定三個正整數n、l和r,統計長度在1到n之間,元素大小都在l到r之間的單調不降序列的數量。輸出答案對10^6+3取模的結果。

輸入第一行包含乙個整數t,表示資料組數。第2到第t+1行每行包含三個整數n、l和r,n、l和r的意義如題所述。

輸出包含t行,每行有乙個數字,表示你所求出的答案對106+3取模的結果。

21 4 5

2 4 5

25提示

【樣例說明】滿足條件的2個序列為[4]和[5]。

【資料規模和約定】對於100%的資料,1≤n,l,r≤10^9,1≤t≤100,輸入資料保證l≤r。

題解:區間[l,r]等價於區間[1,r-l+1]。

設f[i][j]表示i個數,最大的那個數是j的方案數,有

這不就是斜過來的楊輝三角嗎?然後我們要求的就是這個東西

感覺從1開始不太好看,但是反正f[1][...]等於1,於是我們加上一項

因為這是乙個斜過來的楊輝三角,所以f[n+1][r-l+2]對應的就是c[n][n+r-l+1]

然後上lucas定理就行了

注意不能先把1-1000003的逆元都求出來,會tle!

#include #include #include #define mod 1000003ll

typedef long long ll;

ll n,m;

ll jc[mod+10],jcc[mod+10];

ll pm(ll x,ll y)

return jcc[x]=z;

}ll dfs(ll a,ll b)

int main()

return 0;

}

BZOJ4403 序列統計

description 給定三個正整數n l和r,統計長度在1到n之間,元素大小都在l到r之間的單調不降序列的數量。輸出答案對10 6 3取模的結果。input 輸入第一行包含乙個整數t,表示資料組數。第2到第t 1行每行包含三個整數n l和r,n l和r的意義如題所述。output 輸出包含t行,...

BZOJ4403 序列統計

推導式子 baidu可得 設m r l 1 長度為i,元素大小在1 m之間的單調不降序列的數量有cm 1i m 1個 故答案為 n i 1 cm 1 i m 1 ni 1 cm 1i m 1 cm m 1 ni 2 cm 1i m 1 cm m 1 1 ni 3 cm 1i m 1 cm m 2 1...

BZOJ4403 序列統計

標籤 lucas定理,逆元 description 給定三個正整數n l和r,統計長度在1到n之間,元素大小都在l到r之間的單調不降序列的數量。輸出答案對10 6 3取模的結果。input 輸入第一行包含乙個整數t,表示資料組數。第2到第t 1行每行包含三個整數n l和r,n l和r的意義如題所述。...