給定三個正整數n、l和r,統計長度在1到n之間,元素大小都在l到r之間的單調不降序列的數量。輸出答案對10^6+3取模的結果。
1 ≤n
,l,r
≤109
,1≤t
≤100,l
≤r
1≤n,l,r≤10^9,1≤t≤100,l≤r
1≤n,l,
r≤10
9,1≤
t≤10
0,l≤
r元素在[l,
r]
[l,r]
[l,r
]選其實相當於在[1,
r−l+
1]
[1,r-l+1]
[1,r−l
+1]選
問題轉換成,
將i
ii個(i∈[
1,n]
i∈[1,n]
i∈[1,n
])球放到r−l
+1
r-l+1
r−l+
1個盒子內,盒子可以為空的方案數
a ns
=∑i=
1nci
+(r−
l)r−
lans=\sum_^c_^
ans=∑i
=1n
ci+(
r−l)
r−l
也就是ans
=cn+
(r−l
)+1r
−l+1
−1
ans=c_^-1
ans=cn
+(r−
l)+1
r−l+
1−1
求c(n,m).但n,m過大時,可用lucas定理
#include #include #include #include #include #include #include #define rep(i, st, ed) for (int i = st; i <= ed; i++)
#define rwp(i, ed, st) for (int i = ed; i >= st; i--)
#define lson(x) x * 2
#define rson(x) x * 2 + 1
#define n 1000005
using namespace std;
typedef long long ll;
const int mo = 1000003;
int fac[mo+5], inv[mo+5], ans, t;
void pre_work()
int c(int n, int m)
int main()
return 0;}
home back
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的意義如題所述。...