二分迭代求等比数列和
2015-08-16 00:33
204 查看
首先说明一下,为什么不直接套公式呢?
因为(A/B)%C需要求B%C的模逆元,然后B,C还不一定是互素的,不互素,就没法把除法逆向为乘法了(至少我没听说过)。
等比数列求和也可以用矩阵来写,这个主要看人。
用二分来写比较简单,下面是代码
因为(A/B)%C需要求B%C的模逆元,然后B,C还不一定是互素的,不互素,就没法把除法逆向为乘法了(至少我没听说过)。
等比数列求和也可以用矩阵来写,这个主要看人。
用二分来写比较简单,下面是代码
int quik_sum(int a,int x) { int res = 1; while(x) { if(x&1) res = res*a%mod; a = a*a%mod; x >>= 1; } return res; } int solve(int a, int k) { if(k==1) return 1; if(k&1) return (solve(a,k>>1)*(quik_sum(a,k/2+1)+1) + quik_sum(a,k/2))%mod; else return solve(a,k>>1)*(quik_sum(a,k>>1)+1)%mod; }
相关文章推荐
- 初学Objective - C 第一天
- SPOJ QTREE 树链剖分
- Struts2中关于"There is no Action mapped for namespace / and action name"的总结
- 14、SQL Server 存储过程
- 软件各种版本的含义!例如RC,M,GA等等
- Unity插件之TDTK的学习之个性Towers(三)
- 2015华为软件精英挑战赛德州扑克之后期策略
- 【转帖】常量指针与指针常量的区别
- uva 11552 dp
- <四>java数据结构与算法 插入排序
- POJ - 1515 Street Directions(无向图变有向图)
- yaml
- 面向对象,Java泛型篇
- LeetCode Different Ways to Add Parentheses
- uva 10534 dp
- HDU 1695 GCD (容斥 + 莫比乌斯反演)
- JAVA编程——static与final详解
- iOS开发-assign、retain、copy、strong、weak的区别
- 封装scrollView 循环滚动,tableViewCell(连载) mvc
- 交错正负数