Geometric Sum

时间限制:1000 ms  |  内存限制:65535 KB
难度:3
描述
Compute (a + a^2 + … + a^n) mod m.

输入
Three integers a,n,m.
(1≤a,n,m≤10^18)
It ends with EOF.
输出
The only integer denotes the result.
样例输入
2 2 1000000000
样例输出
6 
别人的AC码:

#include <stdio.h>
typedef long long LL;
LL Mod;
LL multMod(LL a,LL b)
{LL res = 0,base = a;while(b){if(b&1)(res += base) %= Mod;(base <<= 1) %= Mod;b >>= 1;}return res;
}LL powerMod(LL a,LL n)
{LL res = 1 , base = a;while(n){if(n&1)res = multMod(res,base);base = multMod(base,base);n >>= 1;}return res;
}LL solve(LL a,LL n)
{if(n == 1)return a;LL halfsum = solve(a,n >>1);if(n&1){LL half = powerMod(a,n+1 >>1);return (halfsum + half + multMod(half,halfsum)) % Mod;}else{LL half = powerMod(a,n >>1);return (halfsum + multMod(half,halfsum)) % Mod;}
}int main()
{LL a,n;while(~scanf("%lld%lld%lld",&a,&n,&Mod)){a %= Mod;printf("%lld\n",solve(a,n));}return 0;
}

NYOJ 640 Geometric Sum相关推荐

  1. 空间复杂度 用什么符号表示_什么是大O符号解释:时空复杂性

    空间复杂度 用什么符号表示 Do you really understand Big O? If so, then this will refresh your understanding befor ...

  2. 相位一致性(Python版本)

    此函数用于计算图像的相位一致性 输入参数为[ 图像; 小波尺度数量默认为4; 滤波器方向数默认为6; ] 返回值[ **** M:边缘强度: m``:角点强度 : or:方向图像,整数度0-180,逆 ...

  3. 【裂缝识别】基于matlab计算机视觉断裂裂缝识别【含Matlab源码 2049期】

    一.简介 1 案例背景 随着国家对公路建设的大力投入,我国的公路通车总里程己经位居世界前列,这样进一步促进了我国经济建设的发展.随着公路的大量投运,公路日常养护和管理已经成为制约公路运营水平提高的瓶颈 ...

  4. Python:实现sum of geometric progression几何级数之和算法(附完整源码)

    Python:实现sum of geometric progression几何级数之和算法 def sum_of_geometric_progression(first_term: int, comm ...

  5. NYOJ 215 Sum

    Sum 时间限制:1000 ms  |  内存限制:65535 KB 难度:2 描述 Consider the natural numbers from 1 to N. By associating ...

  6. NYOJ 927 The partial sum problem 【DFS】+【剪枝】

    The partial sum problem 时间限制:1000 ms  |  内存限制:65535 KB 难度:2 描写叙述 One day,Tom's girlfriend give him a ...

  7. NYOJ 30 Gone Fishing JAVA+解析

    Gone Fishing这道题目运用的多次折合成一次这种思想我首次见,我想的一个思路是,每次算一下鱼量和时间代价比,这个代码我没有敲,下面的代码是一位仁兄敲得,我研读了一下,做了一个注释,应该有利于后 ...

  8. hdu-2204 Eddy's爱好 nyoj 526

    hdu : http://acm.hdu.edu.cn/showproblem.php?pid=2204 nyoj :  http://acm.nyist.net/JudgeOnline/proble ...

  9. NYOJ 762 第k个互质数(二分 + 容斥)

    第k个互质数 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述 两个数的a,b的gcd为1,即a,b互质,现在给你一个数m,你知道与它互质的第k个数是多少吗?与m互质的数按 ...

最新文章

  1. 旅行家的预算[贪心]
  2. linux下使profile和.bash_profile立即生效的方法
  3. gptuefi优势_UEFI+GPT模式,对提升SSD性能非常明显 | 麦田一棵葱
  4. HDU 1856 More is better【并查集】
  5. struts2异常处理,global-results定义全局结果处理
  6. python怎么安装matplotlib-如何安装Python绘图库Matplotlib?
  7. HTML网页制作:[12]使用框架结构之frameset
  8. mysql+永久+关闭提交,MySQL学习【第十一篇存储引擎之事务解释】
  9. GitHub 中文排行榜,高分优秀中文项目一网打尽!
  10. 往Cloud Foundry上部署应用背后的技术实现
  11. 数据特征分析-统计分析
  12. 幼儿使用计算机需要注意事项,儿童玩电脑注意事项
  13. Mybatis学习IDEA(1)-环境搭建以及入门案例
  14. 使用NGUI来制作技能的CD冷却效果
  15. 三.redis 排序
  16. 谈谈大型分布式网站架构技术总结
  17. 地图比例尺与空间分辨率之间的关系_宝马如何查看自己的车机系统是不是idrive几的?宝马主机与idrive系统和导航地图之间的对应关系!...
  18. RedHat7安装QQ
  19. 用Excel控件做动态图表
  20. Bomb Game(翻译)

热门文章

  1. Linux解决openoffice转换PDF乱码问题(ubutun16.0.4)
  2. MyBatis多对多关联查询示例——MyBatis学习笔记之十八
  3. Juniper NetScreen 基于源NAT转换
  4. Android客户端实现七牛云存储文件上传
  5. Javascript学习------内部对象 String Date event(重要)
  6. usaco Packing Rectangles
  7. 项目总结(二)-一些常用的工具浅谈
  8. 解耦HTML、CSS和JavaScript
  9. Ubuntu软件仓库-转载
  10. 常见HTTP状态(304,200等)