【qduoj - 纳新题】小明的dp(快速幂 + 乘法原理)(简单组合数学)
生活随笔
收集整理的這篇文章主要介紹了
【qduoj - 纳新题】小明的dp(快速幂 + 乘法原理)(简单组合数学)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
題干:
描述
?
小明有n種珠寶,每種無(wú)限個(gè),他想從這些珠寶中取出m個(gè),編成手鏈(長(zhǎng)鏈哦),并按順序排列起來(lái),為了好看,相鄰的珠寶不能相同。小明想知道有多少種排列的方法。
輸入
?
第一行一個(gè)整數(shù)t代表樣例個(gè)數(shù)第二行有兩個(gè)正整數(shù)m,n。
1 ≤ m, n ≤ 1000
輸出
?
第一行一個(gè)整數(shù),表示在n種珠寶中取出m個(gè)的排列方案數(shù)模1000000007后的值
輸入樣例 1?
1 3 3輸出樣例 1
12解題報(bào)告:
? ? 據(jù)說(shuō)n和m的輸入順序是個(gè)坑?
AC代碼:
#include<bits/stdc++.h> #define ll long long using namespace std; const ll mod = 1000000007; ll m , n; ll qpow(ll a,ll k) {ll res = 1;while(k) {if(k&1) {res = (res*a)%mod;}k>>=1;a=(a*a)%mod;}return res; }int main() {int t;cin>>t;while(t--) {scanf("%lld%lld",&m,&n);ll ans = (n%mod)*(qpow(n-1,m-1))%mod;printf("%lld\n",ans%mod);}return 0 ; }?
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的【qduoj - 纳新题】小明的dp(快速幂 + 乘法原理)(简单组合数学)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 收益暴跌90% 挖矿玩家选择关机:显卡价
- 下一篇: 【HDU - 2102】A计划 (麻烦