等比數列求和快速冪
CF-678D
看求的和(a^n-1)/(a-1)按奇偶遞推
#include<iostream> using namespace std; const long long m=1e9+7; long long mul(long long a,long long b) { long long t=a%m,res=0; while(b) { if(b&1) { res+=t; if(res>m) res-=m; } t<<=1; if(t>m) t-=m; b>>=1; } return res; } long long pow_mod(long long a,long long b) { long long t=a%m,res=1; while(b) { if(b&1) res=mul(res,t); t=mul(t,t); b>>=1; } return res; } long long fun(long long a,long long b,long long n) { if(n==1) return b; if(n&1) return fun(a,b,n-1)+mul(b,pow_mod(a,n-1)); else return fun(mul(a,a),mul(a+1,b),n>>1); } int main() { long long a,b,x,n,g=0; cin>>a>>b>>n>>x; g+=mul(x,pow_mod(a,n)); if(a==1) g+=mul(b,n); else g+=(fun(a,b,n)); g%=m; cout<<g<<endl; }
相關推薦
等比數列求和快速冪
CF-678D 看求的和(a^n-1)/(a-1)按奇偶遞推 #include<iostream> using namespace std; const long long m=1e
POJ 3233 Matrix Power (矩陣快速冪+等比數列求和)
Matrix Power Series Time Limit: 3000MS Memory Limit: 131072K Total Submissions: 23165 Accepted: 9651 Description Gi
POJ 3233 Matrix Power Series (矩陣快速冪+等比數列二分求和)
Matrix Power Series Time Limit: 3000MS Memory Limit: 131072K Total Submissions: 23205 Accepted: 9669 Description Given a n × n ma
HDU 4704 Sum(隔板原理+組合數求和公式+費馬小定理+快速冪)
ace php 模板 erl char printf 證明 style ron 題目傳送:http://acm.hdu.edu.cn/showproblem.php?pid=4704 Problem Description Sample Input 2 Sam
POJ 3233 Matrix Power Series (矩陣乘法+快速冪+等比二分求和)
再加上快速冪演算法和就好了 #include<iostream> #include<cstring> #include<string> #include<cstdio> #include<algorithm>
[noip模擬賽]求和(快速冪)
題目描述 求1b+2b+……+ab的和,對10000取模。 多組資料。 T<=100,a,b<=10^9 題解 一個很顯然的性質:ib≡(i+p)b(modp) 所以只要用快速冪
快速冪初步學習
去掉 進制 二進制 末尾 刪掉 nbsp light log mil 快速冪顧名思義就是快速求冪,也常用於求冪的模(余數) 例如求Xq,常規算法是乘q次X,時間復雜度為O(n),而快速冪復雜度為O(log2n),我們看下如何實現 n用二進制可寫成2k1+2K2+..
人生第一個快速冪的題(HDU - 1097--A hard puzzle )
快速冪算法 pre namespace using str logs main ref cin 題意: 最簡單的快速冪。給你兩個數n和m,求n^m的最後一位; 解題思路: 額,快速冪就很簡單了,這裏只要最後一位可以一對每次運算都%10; 代碼: #include<c
快速冪算法(矩陣快速冪還不是很會。。日後會更新)
代碼 -s get 運算 logs == data 。。 outb PS:轉載,自己寫的不如人家,怕誤導。轉載地址:http://www.cnblogs.com/CXCXCXC/p/4641812.html 首先,快速冪的目的就是做到快速求冪,假設我們要求a^b,按照樸素算
poj 3070 Fibonacci(矩陣快速冪求Fibonacci數列)
代碼 include cnblogs inf stream exp class set names 題目鏈接: http://poj.org/problem?id=3070 題意: 我們知道斐波那契數列0 1 1 2 3 5 8 13…… 數列中的第i位為第i-1位
poj 3735 Training little cats (矩陣快速冪)
log ack make .cn code little logs 矩陣快速冪 style 題目鏈接: http://poj.org/problem?id=3735 題意: 有n只貓咪,開始時每只貓咪有花生0顆,現有一組操作,由下面三個中的k個操作組成:
poj3233 Matrix Power Series 矩陣快速冪
分享 std 答案 span print .org log .cn ring 題目鏈接: http://poj.org/problem?id=3233 題意: 給你A矩陣,A矩陣是n*n的一個矩陣,現在要你求S = A + A^2 + A^3 + … + A^k.那麽s一定
[luoguP1962] 斐波那契數列(矩陣快速冪)
truct ons 技術 pan opera http 快速冪 printf ble 傳送門 解析詳見julao博客連接 http://worldframe.top/2017/05/10/清單-數學方法-——-矩陣/ —&
51Nod - 1113 矩陣快速冪
return ios brush tdi 需要 can vector 元素 turn 51Nod - 1113 矩陣快速冪 給出一個N * N的矩陣,其中的元素均為正整數。求這個矩陣的M次方。由於M次方的計算結果太大,只需要輸出每個元素Mod (10^9 + 7)的結果。
快速冪算法
div amp cst span log sin 快速 long urn 1 #include<iostream> 2 #include<cstdio> 3 4 using namespace std; 5 6 long long
51nod1113(矩陣快速冪模板)
matrix mod aps amp alt for question class color 題目鏈接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1113 題意:中文題誒~ 思路:矩
hdu4549矩陣快速冪+費馬小定理
次方 pla pragma nod 技術分享 gif 矩陣 end eof 轉移矩陣很容易求就是|0 1|,第一項是|0| |1 1| |1| 然後直接矩陣快速冪,要用到費馬小定理 :假如p
poj3734矩陣快速冪
play mes end nod using def cst efi set 挑戰上面的題目,感覺腦洞很大 分別找紅藍個數全為偶,全為奇,一奇一偶的個數ai,bi,ci 轉移矩陣是| 2 1 0 |,是一個對稱矩陣(會不會有什麽聯系。) | 2
51nod 1537 分解(矩陣快速冪)
class 遞推 def stream cout out while cin 51nod 分析:先寫出前幾項,發現都是有解的.記(1+√2)^n=a+b√2,可以歸納證明,當n為奇數時,m=a^2+1,n為偶數時,m=a^2.寫出a的遞推式,用矩陣快速冪算一下a即可.
快速冪+分治(洛谷P1045 麥森數 noip2003)
高精 進制 素數 str c++ efi ref == com 形如的素數稱為麥森數,這時一定也是個素數。但反過來不一定,即如果是個素數,不一定也是素數。到1998年底,人們已找到了37個麥森數。最大的一個是,它有909526位。麥森數有許多重要應用,它與完全數密切相關