2013 多校第十场 1009 sum 欧拉定理 快速幂 高精度
来源:互联网 发布:skate it 编辑:程序博客网 时间:2024/06/16 19:52
题目地址 http://acm.hdu.edu.cn/showproblem.php?pid=4704
首先,这样的方法数就是c【N-1】【K-1】 就是可重复元素的组合数 ,然后求和后是2^N-1 计算mod 100000007 由于模是素数,由费马小定理,只需要计算N-1除以mod 的余数,然后计算余数的时候,据说BigInteger会超时,那就死算吧,把每一位是多少算出来。
注意要点: 1 虽然p【i】都是int 范围内的,但是在计算过程中可能溢出。 所以开long long
2 算快速幂时也可能存在类似问题,所以参数都设置成long long
#include<iostream>#include<cmath>#include<string>#include<algorithm>typedef long long inta; using namespace std;inta quick_mod(inta a,inta b,inta m){ inta ans=1; a=a%m; while(b) { if(b&1)ans=(ans*a)%m; a=(a*a)%m; b>>=1; } return ans;}long long p[100001];int mod =1000000006;int modp=1000000007;void pre(){ p[0]=1; for(int i=1;i<=100000;i++) p[i]=(p[i-1]*10)%mod;}int main(){ pre(); string s; while(cin>>s) { reverse(s.begin(),s.end()); inta tempans=0; for(int i=0;i<s.length();i++) tempans=(tempans+p[i]*(s[i]-'0'))%mod; if(tempans==0) tempans=mod-1; else tempans-=1; cout<<quick_mod(2,tempans,modp)<<endl; }}
- 2013 多校第十场 1009 sum 欧拉定理 快速幂 高精度
- 多校第十场 1009 Sum
- hdu 4704 Sum/杭电2013年多校第十场1009 快速幂+循环
- hdu 4704--sum(多校赛第十场)快速幂
- hdu 4704 Sum 多校第十场
- BZOJ 1409 快速幂+欧拉定理
- [ 欧拉定理 矩阵快速幂 ] BZOJ5118
- hdu 3221 欧拉定理 +快速幂+矩阵快速幂
- HDOJ 4704 Sum 规律 欧拉定理
- hdu 4549 欧拉定理+各种快速幂
- POJ2154 Color【Polya定理】【欧拉函数】【整数快速幂】
- hdu 1395 欧拉定理+快速幂+素数判定
- HDU 5895 欧拉定理+快速幂+公式
- Mathematician QSC(欧拉定理+矩阵快速幂)
- 【POJ3696】The Luckiest Number-欧拉定理+快速幂
- HDU-4549(矩阵快速幂+欧拉定理)
- hdu-4549(矩阵快速幂+欧拉定理)
- Hdu 4704 Sum -- 快速幂+高精度处理
- 欢迎界面
- 对抗搜索(或dp)-hdu-4597-Play Game
- poj1013(称量+hash)
- IE浏览器解除右键限制方法
- Dynamics CRM 2013 初体验(2):UI
- 2013 多校第十场 1009 sum 欧拉定理 快速幂 高精度
- Makefile 自动变量的含义和用法(转载)
- linux2.6内核链表
- JRE(Java运行时环境)和windows装载JVM
- 重命名数据库时,出现“无法用排他锁锁定该数据库,以执行该操作”
- delphi DCC32命令行方式编译delphi工程源码
- HDU 1272小希的迷宫(简单并查集)
- vmstat 命令的用法说明
- (HEVC)帧内预测:predIntraLumaAng; getPreditorPtr; xDCPredFiltering