hdu 5793 A Boring Question 数学
来源:互联网 发布:淘宝视频缓冲地址 编辑:程序博客网 时间:2024/05/01 21:59
/* 打表找到等比求和公式 :(1-m^(n+1))/(1-m); 在素数mod 下求inc(1-m),quickm(m^(n+1), answer=quick(m^(n+1))-1 * inc(1-m).*/#include<iostream>#include<cstdio>using namespace std;typedef long long ll;const int mod = 1e9+7;int quickm(int n,int m){ ll a=1,x=n; while(m) { if(m&1) a =(a*x)%mod; x=(x*x)%mod; m /=2; } return a%mod;}void gcd(ll a,ll b,ll &d,ll &x,ll &y){ if(!b) {d=1;x=1;y=0;} else { gcd(b,a%b,d,y,x); y-= x*(a/b); }}int inc(int a,int mod){ ll x,y,d; gcd(a,mod,d,x,y); return d==1?(x+mod)%mod:-1;}int main(){ int t,n,m; cin>>t; while(t--) { cin>>n>>m; ll ans=quickm(m,n+1)-1; ll ic=inc(m-1,mod); ans *=ic; ans %=mod; cout<<ans<<endl; } return 0;}
阅读全文
0 0
- HDU 5793 A Boring Question (数学)
- hdu 5793 A Boring Question 数学
- hdu 5793 A Boring Question 数学
- 【HDU】5793 A Boring Question
- HDOJ 5793 A Boring Question 数学+猜想
- A Boring Question HDU
- HDU 5793 A Boring Question 打表找规律
- HDU 5793 A Boring Question(多校6)
- 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 5793A Boring Question 推公式(多校)
- HDU 5793 A Boring Question(快速幂&求逆元)
- HDU 5793 A Boring Question (打表找规律)
- POJ-3660 cow contest(floyd求传递闭包)
- [NOIP2017模拟]路径
- java 零散 知识
- 项目依赖环境变量配置
- 数据结构 一 (栈 & 循环队列 & 链式队列)
- hdu 5793 A Boring Question 数学
- linux bash 快捷键配置
- Array的常用方法
- PythonWeb开发Django框架学习(十一)使用框架自带Admin管理数据库数据
- Android实现计时与倒计时的几种方法
- 提高Ubuntu虚拟机运行速度
- Android解决多个Fragment切换时布局重新实例化问题(挺详细的)
- Matlab中矩阵卷积函数convn
- 文件操作