【題目描述】
【輸入描述】
輸入兩個數n和m。
【輸出描述】
輸出乙個數,表示答案 mod (109+7)的值。
【輸入樣例】
3 3【輸出樣例】
56【資料範圍及提示】
對於50%的資料,1 ≤ n,m ≤ 1000;
對於100%的資料,1 ≤ n,m ≤ 50000。
源**:#include
#define ll long long //
ll上癮。
#define inf 1000000007ll n,m;
ll count(ll x,ll s)
return
number;
}int
main()
printf(
"%i64d
",ans);
return0;
}/*一道警醒世人的題。
利用高中數學的等比數列就可以o(n)解得答案。
做題還是要靈活運用,noip的知識點邊框不要卡得太死。
終於會乘法逆元了!那幸福的逆元告訴我的,我將告訴每乙個模。
乘法逆元:
對於兩個數a、b,若有ax≡1(mod b),那麼x就叫做a對b的乘法逆元。
作用:舉個例子:
12/4 mod 7=3
用乘法逆元轉化一下,對於(4,7)的乘法逆元為2(4*2≡1(mod 7)),則有:
12*2 mod 7=3
這樣,除法就變為了乘法。
但是有一點,(a,b)應互素,否則不存在逆元,不過一般noip都給素數。
怎麼求?
利用費馬小定理:
a^(p-1)≡1(mod p)(p為素數)
a*a^(p-2)≡1(mod p)
那a^(p-2)不就是(a,p)的逆元嘛,快速冪解決。
*/
曦皓的旅遊
題目描述 曦皓要去乙個國家旅遊。這個國家有n個旅遊景點,n 1條雙向連線的道路將它們連通起來,每一條道路都有乙個固定長度,一開始曦皓位於1號景點。現需要求出旅行長度最小的方案,使得每個景點至少被訪問到一次。輸入描述 第一行輸入乙個整數n,表示景點數目 接下來n 1行,每行輸入三個整數s t w,表示...
馬虎的算式
小明是個急性子,上小學的時候經常把老師寫在黑板上的題目抄錯了。有一次,老師出的題目是 36 x 495 他卻給抄成了 396 x 45 但結果卻很戲劇性,他的答案竟然是對的!因為 36 495 396 45 17820 類似這樣的巧合情況可能還有很多,比如 27 594 297 54 假設 a b ...
馬虎的算式
小明是個急性子,上小學的時候經常把老師寫在黑板上的題目抄錯了。有一次,老師出的題目是 36 x 495 他卻給抄成了 396 x 45 但結果卻很戲劇性,他的答案竟然是對的!因為 36 495 396 45 17820 類似這樣的巧合情況可能還有很多,比如 27 594 297 54 假設 a b ...