等比数列求和推导及优化

等比数列求和公式:这里写图片描述
推导:这里写图片描述
所以这里写图片描述
那么这里写图片描述
这里写图片描述
如果q==1就特判输出q*n

但是这样有一个缺点就是如果答案要取模,时间复杂度就会难以估计,有时就会变得很大,导致超时。

代码实现时间复杂度:O(log(n+1))

核心代码(取模)如下:

ans=qsm_(n,m+1)-1;//调快速幂
while (ans%(n-1)) ans+=tt;//取模后ans可能不可以被n-1整除,所以不停修正ans直到ans可以被n-1整除。
ans=(ans/(n-1))%tt;

=============================================================================

等比数列求和分治思想:
利用分治思想可以将等比数列求和在时间复杂度上变得更加稳定(无论是否取模),但是在不取模时,时间复杂度没有用公式快。
推导:设这里写图片描述
这里写图片描述
分类讨论:
n为奇数:这里写图片描述
n为偶数:这里写图片描述

上述答案调递归即可
所以答案就是这里写图片描述

代码实现时间复杂度:O(log(n)* log(n))

核心代码(取模)如下:

int dfs_(int x,int b)
{
    if (b==0) return 0;//0特判
    if (b==1) return x%tt;
    int sum=dfs_(x,b/2),tot=0;
    if (b&1) tot=qsm_(x,b);//奇偶性判断
    return (sum*(1+qsm_(x,b/2))%tt+tot)%tt;
}
组合数乘等比数列求和是指在等比数列的每一项前面乘以一个对应的组合数然后求和。引用的内容提供了一些关于等比数列求和和组合数的相关知识。 首先,我们来看等比数列求和公式。根据引用[1]中提供的内容,等比数列的递推公式为an=an-1d,其中an表示第n项,d表示公比。根据数列的和的定义,可以得到an=sn-sn-1,其中sn表示前n项和。这个公式推导排序不等式时非常有用。 接下来,我们来看组合数的乘法性质。引用中提到,相邻项的性质可以表示为an=an-1an+1/2,其中an表示第n项。这个性质在组合数乘等比数列求和中非常重要。 现在我们来解答问题,求组合数乘等比数列求和。假设等比数列的首项为a,公比为r,共有n项。那么乘以组合数的等比数列求和可以表示为: S = C(0,0) * a + C(1,1) * ar + C(2,2) * ar^2 + ... + C(n,n) * ar^n 其中C(m,k)表示从m个元素中选取k个元素的组合数。根据组合数的定义,C(m,k)可以表示为m!/(k!(m-k)!),其中!表示阶乘运算。 然后,我们可以将S进行展开和重组。根据引用中提到的展开重组法计算求和式,展开后的求和式可以表示为: S = C(0,0) * a + (C(1,0) + C(1,1)) * ar + (C(2,0) + C(2,1) + C(2,2)) * ar^2 + ... + (C(n-1,0) + C(n-1,1) + ... + C(n-1,n-1)) * ar^(n-1) + C(n,n) * ar^n 注意到组合数的性质C(m,k) + C(m,k+1) = C(m+1,k+1),我们可以简化求和式为: S = C(0,0) * a + C(1,1) * (ar + ar^2) + C(2,2) * (ar^2 + ar^3) + ... + C(n-1,n-1) * (ar^(n-1) + ar^n) + C(n,n) * ar^n 综上所述,组合数乘等比数列求和可以表示为上述的求和式。这个求和式可以通过计算每一项的组合数和等比数列的乘积,并将所有项相加得到最终的结果。 引用: math_等比数列求和推导&等幂和差推导/两个n次方数之差等差数列🎈ref递推公式通项等差数列和 等比数列🎈递推公式通项公式等比数列求和公式🎈错位相减法 等差乘以等比数列求和问题求导&极限法例: 求和号的性质 ∑ \sum ∑🎈展开重组法计算求和式 立方数和/差的展开两个n次方数之差&和两个奇数次方数之和 等幂差公式推导🎈ref 等幂和差的综合应用(等价无穷小实例) 相邻项的性质 a_n = \frac{a_{n-1} a_{n+1}}{2}; n = 2, 3, ... 等差数列和
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值