Icebound and Sequence(非互质逆元 快速乘法)or(矩阵快速幂)

博客介绍了如何利用矩阵快速幂解决数学问题,特别是针对Imp给icebound提出的求解序列和模p的问题。通过一个基本公式和等比数列求和,提出了一种避免长整数乘法溢出的快速加法乘法方法,并指出对于能写出地推表达式的算式,可以使用矩阵快速幂在对数时间内求解。
摘要由CSDN通过智能技术生成

Icebound hates math. But Imp loves math. One day, Imp gave icebound a problem. 

The problem is as follows.

S=(∑ni=1qi) mod pS=(∑i=1nqi) mod p

For given q,n,p, you need to help icebound to calculate the value of S.

输入描述:

The first line contains an integer T, denoting the number of test cases.
The next T lines, each line contains three integers q,n,p, separated by spaces. 
1≤T≤1001≤T≤100, 1≤n,q,p≤1091≤n,q,p≤109

输出描述:

For each test case, you need to output a single line with the integer S.

示例1

输入

复制

2
2 3 100
511 4 520

输出

复制

14
184

首先有一个基本的公式就是

a/b%c=a%(b*c)/b

此公式是用的就是在分母确定时 并且分子很大

那么我们列出等比数列求和公式

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值