Alternating Sum(等比数列+逆元)

这是一篇关于利用等比数列和逆元解决数学问题的博客,具体涉及到了一个字符串与整数n, a, b, k结合的计算题目。由于n的值过大,直接计算不可行,需要寻找循环节的规律。作者指出问题实质上是一个等比数列,并讨论了如何处理浮点数和逆元的概念。提到了逆元的三种求法:费马小定理、拓展欧几里德和预处理,同时强调在给定模数下,费马小定理更为直接。解决方案分为两种情况:当公比q等于1和不等于1时,分别计算结果。" 104619827,7651418,SPALART-ALLMARAS湍流模型在方腔流中的应用,"['流体力学', '数值模拟', '湍流模型', '格子玻尔兹曼方法', 'CSDN博客']
摘要由CSDN通过智能技术生成

传送门

题意:

给你  n,a,b,k   string s[ ] 。 n,a,b<=1e9  ,  k<=1e5

问题是利用上面的参数求一个式子。

\sum S\left [ i \right ] *a^{n-i}*b^{i}

其中S[i]是有符号位。题目说明了,超过了字符串S长度就会取余进行循环。

就是  S[ i % k ] 

题解:

这个题明显就是利用循环节求解。因为n的值太大,跑不完。所以我们需要找到循环节直接的关系。

后来通过观察就知道其实这个是等比数列。

公比:\frac{b^{k}}{a^{k}}

一开始我以为a,b是一个倍数关系,然而并不是,大家知道浮点数是不可以快速幂的。

为了解决这个问题就有了逆元的出现。

但是逆元求法:

逆元求法

中规中矩有三种方法:1、费马小定理  2、拓展欧几里德 3、预处理

到时候会整理出来的。

这个题给了我们Mod=1e9+9   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值