HDU-5793-A Boring Question-打表找规律加模逆元
来源:互联网 发布:添加URL端口 编辑:程序博客网 时间:2024/06/03 23:53
题意:根据题目所给公式打表找规律,容易发现
f(n,m)=m*f(n-1)+1
f(1,m)=m+1
容易得到
f(n,m)=(m^(n+1)-1)/(m+1)
套一个模逆元板子就好了
#include<bits/stdc++.h>#define mod 1000000007using namespace std;long long extend_gcd(long long a,long long b,long long &x,long long &y){ if(a==0&&b==0) return -1; if(b==0){x=1;y=0;return a;} long long d=extend_gcd(b,a%b,y,x); y-=a/b*x; return d;}long long mod_rev(long long a,long long n){ long long x,y; long long d=extend_gcd(a,n,x,y); if(d==1) return (x%n+n)%n; else return -1;}long long qpow(long long x,long long y) { long long ans=1; long long tt=x; while(y) { if(y&1) { ans*=tt; ans%=mod; } tt*=tt; tt%=mod; y/=2; } return ans;}int main(){ long long n,m; int t; scanf("%d",&t); while(t--) { scanf("%lld%lld",&n,&m); long long a=qpow(m,n+1); a=(a-1+mod)%mod; // cout <<"=="<< a << endl; long long ans=a*mod_rev(m-1,mod)%mod; printf("%lld\n",ans); } return 0;}
0 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
- A Boring Question HDU
- Hdu 5793 A Boring Question【暴力打表+找规律+求逆元+快速幂+快速积】
- (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(多校6)
- HDU 5793 A Boring Question(数论)
- hdu 5793 A Boring Question 数学
- 打表找规律+快速幂+求逆元______A Boring Question(hdu 5793 2016多校第六场)
- hdoj5793 A Boring Question【找规律】
- volley简介
- list 取第几个元素
- HADOOP的本地库(NATIVE LIBRARIES)介绍
- <spark> 集群下運行範例紀錄
- list的相关操作 - 单词倒排 - 统计个数
- HDU-5793-A Boring Question-打表找规律加模逆元
- POJ3267——The Cow Lexicon
- 205.leetcode Isomorphic Strings (easy)[map结构 字符串处理]
- 请问在两个程序之间如何通信?
- Django 模板里赋值
- 【Android】【优化】
- poj 3267 The Cow Lexicon
- 《Motion Design for iOS》(三十八)
- Jquery memo