HDU 5793 A Boring Question (找规律+快速幂)
2016-08-05 11:17
423 查看
A Boring Question
题目链接:点我打开链接[align=left]Source[/align]
2016 Multi-University Training Contest 6
题意:用m个不大于n的数构成一个序列,对每个序列求C(kj+1,kj)的连乘积。求出所有可能的序列,累加这些连乘积。
题解:打表找规律啊。f(n,m)
f(1,2)=3; f(1,6)=7; f(2,2)=7; f(2,6)=43; f(3,2)=15
f(1,3)=4; f(1,7)=8; f(2,3)=13; f(2,7)=57; f(3,3)=40
f(1,4)=5; f(1,8)=9; f(2,4)=21; f(2,8)=73; f(3,4)=85
f(1,5)=6; f(1,10)=11; f(2,5)=31; f(2,9)=91; f(3,5)=156
然后找规律:
f(n,m) = f(n-1,m) + m^n
= m^0 + m^1 + m^2 + ... + m^n; (等比数列求和)
= (1 - m^(n+1)) / (1 - m);
官方题解:
AC代码:
#include<bits/stdc++.h> using namespace std; typedef long long ll; const int mod=1e9+7; ll q_mod(ll a,ll n) { ll ans=1; while(n){ if(n&1)ans=ans*a%mod; n>>=1; a=a*a%mod; } return ans; } int main() { int t; scanf("%d",&t); while(t--){ ll n,m; scanf("%lld%lld",&n,&m); printf("%lld\n",(q_mod(m,n+1)-1)*q_mod(m-1,mod-2)%mod); } return 0; }
相关文章推荐
- HDU 5793 A Boring Question (找规律 : 快速幂+乘法逆元)
- HDU 5793 A Boring Question (找规律 : 快速幂+逆元)
- Hdu 5793 A Boring Question【暴力打表+找规律+求逆元+快速幂+快速积】
- hdu-5793 A Boring Question 打表找规律
- HDU-5793-A Boring Question-打表找规律加模逆元
- HDU 5793 A Boring Question(快速幂+求逆元)
- HDU-5793 A Boring Question(打表找规律)
- HDU-5793-A Boring Question(打表找规律)
- hdu 5793 A Boring Question(2016 Multi-University Training Contest 6——快速幂取模)
- (HDU 5793)2016 Multi-University Training Contest 6 A Boring Question (规律)
- HDU 5793 A Boring Question (快速幂 + 乘法逆元 + 费马小定理)
- HDU 5793 A Boring Question 打表找规律
- hdu_5793_A Boring Question(打表找规律)
- hdu 5793 A Boring Question (数学 + 快速幂 + 乘法逆元)
- HDU - 5793 A Boring Question 数学(打表找规律)
- 打表找规律+快速幂+求逆元______A Boring Question(hdu 5793 2016多校第六场)
- HDU 5793 A Boring Question【快速幂+逆元】
- HDU 5793 A Boring Question (逆元+快速幂+费马小定理) ---2016杭电多校联合第六场
- hdu 5793 A Boring Question 数学
- HDU 5793 A Boring Question(数论)