BZOJ 4403 序列統計 lucas

2021-10-02 20:00:19 字數 752 閱讀 2238

題目是給你m個數字,讓你求1~n個數分別能構成的單調不降序列的個數的和且模乙個1e6+3

對於這道題,我們先考慮n個人,然後我們把m個數字分給n個人,但是會有有人分不到的情況,所以我們假設每人都能分到

這樣我們的總個數就變成了n+m個數字分給m個人,這樣我們用隔板法能得到c(m-1,n+m-1)

然後總和就是n取1~n個組合數加起來,然而組合數有乙個公式是c(m,n)=c(m,n-1)+c(m-1,n-1)

又由於c(m,m)=1,即c(m,1+m-1)=1,與c(m-1,m)合併後為c(m,m+1)

然後我們給整體總和的式子加1,化簡就能得到c(m,n+m)-1

ac**如下:

#include

#define int long long

using

namespace std;

const

int mod=

1e6+3;

int fac[mod+10]

,ifac[mod+10]

,n,l,r,t;

;inline

long

longc(

int n,

int m)

inline

long

long

lucas

(int n,

int m)

signed

main()

return0;

}

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的意義如題所述。...