HDU 5793 A Boring Question(快速幂+求逆元)
来源:互联网 发布:淘宝网婴幼儿童车 编辑:程序博客网 时间:2024/05/22 21:32
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5793
这道题就是给你一个公式,然后再给数据范围给你,然后求答案。
这道题的公式推到最后就是一个等比数列的求和公式,也就是说,输入n和m,然后从m的0次方一直加到n次方的和就是答案。
但是由于这道题的数据太大了,有1e9,所以我们不可能用for循环一直加到最后,所以根据公式,我们需要用到快速幂来求m^n。用快速幂求出来之后,我们根据等比数列的求和公式,就成了(1-m^n)/(1-m)%mod。因为还要对1e9+7取模,所以mod=1e9+7。但是因为要取模,所以直接当做除法来做会出错,所以,要把(1-m)和mod的逆元求出来,当做乘法来做。所以求逆元,其实就是求倒数。所以(1-m)和mod就是其倒数。
#include<stdio.h>#include<iostream>#include<string.h>#include<math.h>#include<algorithm>#include<vector>#include<string>#include<queue>#include<map>#define ll long long#define maxn 50010const int mod=1e9+7;using namespace std;int T;ll n,m;ll X,y;ll mi(ll x, ll a, int p){ ll ans=1; x=x%p; while(a>0) { if(a&1) ans=(ans*x)%p; x=(x*x)%p; a>>=1; } return ans;}ll gcd(ll a,ll b) { int t,d; if(b==0) { X=1; y=0; return a; } d=gcd(b,a%b); t=X; X=y; y=t-(a/b)*y; return d;} int main(){ scanf("%d",&T); while(T--) { scanf("%lld %lld",&n,&m); gcd(m-1,mod); if(X<0) X+=mod; ll ans=(mi(m,n+1,mod)-1)*X%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 (数学)
- 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 5793A Boring Question (打表 + 乘法逆元 + 快速模)
- HDU-5793-A Boring Question(打表找规律)
- hdu 5793A Boring Question 推公式(多校)
- HDU 5793 A Boring Question (打表找规律)
- HDU 5793 A Boring Question (逆元)
- JStry&catch
- C语言:用异或^实现数据加密
- kuangbin——线段树专题 E - Just a Hook
- SkipList跳表的实现
- 弹幕效果实现
- HDU 5793 A Boring Question(快速幂+求逆元)
- OJ3311数据结构实验之串三:KMP应用
- 面试中关于key/value的问题及map的理解
- leetcode_c++: Regular Expression Matching(010)
- 从Windows到Linux(二)
- js函数
- node-webkit js 复制粘贴
- C++之stl::string写时拷贝导致的问题
- kuangbin——线段树专题 F - Balanced Lineup