題目描述這天,wd蒟蒻為了解決乙個小問題寫了個很長很長的for迴圈:
int cnt = 0;
for (int a_1 = 0; a_1 <= m; a_1++) }}
printf("%d\n", cnt);
cx過來看了一眼,說:**wd你個笨蛋,這道題不是sb題嗎?**wd一臉懵逼,只好請你來教教他啦…
…
輸入格式第一行乙個數t,表示資料組數。接下來每行兩個數n,m,分別表示迴圈重數和每層迴圈的上界。
輸出格式共tt行,每行乙個數表示答案。
輸入輸出樣例輸入 #1
22 9
10 14
輸出 #1551961256
說明/提示n,m≤1018, 1≤t≤100,000
解釋:很明顯模型為a 1+
a2,.
..an
≤m
a_1+a_2,...a_n \le m
a1+a2
,..
.an
≤m的個數則a1+
a2..
.,an
=m
a_1+a_2...,a_n=m
a1+a2
...
,an
=m為cn+
m−1n
−1
c_^cn
+m−1
n−1
a ns
=∑i=
0mcn
−1+i
n−
1ans=\sum\limits_^mc_^
ans=i=
0∑m
cn−1
+in−
1又∑i=
0mcn
−1+i
n−1=
cn+m
m\sum\limits_^mc_^=c_^m
i=0∑m
cn−1
+in−
1=c
n+mm
直接上lucas
#includeusing namespace std;
const int mod=19491001;
long long fac[mod+1]={};
void gf()
return fac[n]*(pw(fac[k]*fac[n-k]%mod,mod-2))%mod;
}long long lucas(long long n,long long m)
int main()
return 0;
}
洛谷題解 P5159 WD與矩陣
傳送門 如何用一句話描述 給定n和m,求有多少種大小為n m的01矩陣滿足每行每列異或值都是0,答案對998244353取模 yy一下 我們考慮乙個 n 1 m 1 的矩陣 很顯然,如果我們隨便填,會發生什麼呢?會有乙個超級大的答案出來 可是這跟我們的問題有什麼關係?毫無關係 我們找個特例,比如n ...
分支與迴圈 洛谷練習
p1423 小玉在游泳 題目描述 小玉開心的在游泳,可是她很快難過的發現,自己的力氣不夠,游泳好累哦。已知小玉第一步能遊2公尺,可是隨著越來越累,力氣越來越小,她接下來的每一步都只能游出上一步距離的98 現在小玉想知道,如果要游到距離x公尺的地方,她需要遊多少步呢。請你程式設計解決這個問題。輸入輸出...
洛谷試煉場 洛谷新手村 迴圈!迴圈!迴圈!
1.p1008 三連擊 題目鏈結 include using namespace std int main 2.p1035 級數求和 題目鏈結 include using namespace std int main cout 1 0 3.p1423小玉在游泳 題目鏈結 include using ...