3的幂的和 51Nod
来源:互联网 发布:淘宝物流服务评分0.0 编辑:程序博客网 时间:2024/05/11 22:30
3的幂的和
51Nod - 1013求:3^0 + 3^1 +...+ 3^(N) mod 1000000007
3
40
思路:一开始都想到了用等比数列公式再加上一个快速幂取模求结果,但是提交上去就一直wa,后来听说要求逆元,但是还是不明白为什么要求逆元,虽然我知道取模的等介变形中没有除法,但是我当时想,我没想等介变形啊,我就想用个最终结果取模,咋就不一样呢,后来终于发现,(q^(n+1)-1)/2这个式子中,q^(n+1)的结果是用快速幂取模算的,所以这个结果就已经无意识的取模了,也就是说,我们已经无意识的把取模给除法分配进去了,但是除法又没有取模分配,所以只能变成乘逆元,至于如果求逆元,用费马小定理即可
code:
#include <iostream>using namespace std;typedef long long ll;ll q_pow(ll a,ll b){ ll ans = 1; while(b){ if(b&1) ans = ans*a%1000000007; b >>= 1; a = a*a%1000000007; } return ans%1000000007;}//快速幂取模ll getReverse(ll a){ return q_pow(a,1000000005);}//费马小定理求逆元int main(){ ll n; cin >> n; n++; ll ans = (q_pow(3,n)-1)*getReverse(2)%1000000007; cout << ans << endl; return 0;}
阅读全文
0 0
- 3的幂的和 51Nod
- 51nod 1013:3的幂的和 快速幂
- 3的幂的和-----51Nod//快速幂
- 51Nod 1013 3的幂的和 快速幂
- 51Nod-1013-3的幂的和
- 51nod 1013 3的幂的和
- 51nod 1013 3的幂的和
- 51nod-【1013 3的幂的和】
- 51nod-1013 3的幂的和
- 51nod 1013 3的幂的和
- 【51Nod】1013 3的幂的和
- 51Nod--1013 3的幂的和
- 51nod 1013 3的幂的和
- 51nod 1013 3的幂的和
- 【51Nod】1013 3的幂的和
- 51Nod 1013 3的幂的和(逆元和快速幂)
- 51nod 1090 3个数的和为0
- 51nod--1138 . 连续整数的和
- 关于maven编译项目提示的错误信息
- Raptor寻找1000以内完数
- 安卓·bug小结
- 解析PHP跳出循环的方法以及continue、break、exit的区别介绍
- Matlab---导出exe
- 3的幂的和 51Nod
- Android关于图标形状的一点发现
- 30分钟搭建自己的VPN/网络加速器(傻瓜手册)
- Common Subsequence POJ
- 目录——Javase第三阶段(需要查找API,附1.6中英文版和1.8英文版)
- 《财富》观察:中国科技力量撼动世界,投注之前请三思
- 烧钱补贴出的100万台销量 是天猫精灵设立的行业门槛
- 吸引观众近五万人次 2017义乌装博会圆满落幕
- 亚马逊还有什么不做的,摩根史丹利88页报告给你最全概述丨雷报第48期