HDU 5793 A Boring Question (数学)
来源:互联网 发布:psd头像源码怎么使用 编辑:程序博客网 时间:2024/05/23 01:45
题目链接:
http://acm.hdu.edu.cn/showproblem.php?pid=5793
题解:
2016多校训练赛6的第一题。。。开始没发现打表能够找出规律,汗,打表后找出规律发现是个等比数列,直接求和公式搞一发就好了,记得用乘法逆元和快速幂取模。
AC代码:
#include <iostream>#include <cstring>#include <algorithm>#include <cstdio>#define ll long long intusing namespace std;const ll N = 1000000007;ll multi(ll a, ll b){ ll re = 1; while(b > 0) { if(b & 1) { re = (re * a)%N; } a = (a * a)%N ; b >>= 1; } return re%N;}ll extgcd(ll a, ll b, ll &x, ll &y){ ll d = a; if(b == 0LL) { x = 1; y = 0; }else { d = extgcd(b, a % b, y, x); y -= (a / b) * x; } return d;}ll mod_inverse(ll a, ll MOD){ ll x, y; extgcd(a, MOD, x ,y); return (x % MOD + MOD) % MOD;}//乘法逆元int main(){ ll t,n,m,ans,x,y; scanf("%lld",&t); while(t--) { scanf("%lld %lld", &n, &m); ans = 0; if(n == 0) ans = 1; else ans = ((multi(m,n+1) - 1) * mod_inverse(m-1, N) )% N; 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
- HDOJ 5793 A Boring Question 数学+猜想
- A Boring Question HDU
- HDU-5793-A Boring Question(打表找规律)
- HDU 5793 A Boring Question(快速幂+求逆元)
- hdu 5793A 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(多校6)
- hdu-5793 A Boring Question 打表找规律
- HDU-5793 A Boring Question(打表找规律)
- Python学习笔记五:数字和字符串
- 概率论中的建模思想
- js(javaScript)学习系列--基础
- 理解 Neutron Server 分层模型 - 每天5分钟玩转 OpenStack(69)
- javaScript笔记 (七) 正则表达式
- HDU 5793 A Boring Question (数学)
- 经典算法-给出2n+1个数,其中有2n个数出现过两次,用简便的最方法求出现一次的数
- 利用特征根方程实现通项公式与递推关系的互换
- linux中ps配合Kill进程的N种方法
- String字符串的操作
- Python学习笔记六:列表、元组、字典
- 一些资源汇总,持续更新
- 第7课 Go结构struct
- Keil编程环境下的错误