首页 > 编程语言 >AcWing 算法提高课 通过递推求等比数列的和(防止使用逆元出现问题)

AcWing 算法提高课 通过递推求等比数列的和(防止使用逆元出现问题)

时间:2022-10-15 18:00:10浏览次数:40  
标签:等比数列 int num 逆元 exp return AcWing base MOD

基于分治的思想:

 

 例题:https://www.acwing.com/problem/content/99/

模板:

求num^0+num^1+...+num^k

const int MOD=9901;
int QuickExp(int base,int exp)
{
    base%=MOD;
    int res=1;
    while(exp)
    {
        if(exp&1)
        {
            res*=base;
            res%=MOD;
        }
        base*=base;
        base%=MOD;
        exp>>=1;
    }
    return res;
}
int Sum(int num,int k)
{
    if(k==0) return 1;
    if(k%2)
    {
        return (1+QuickExp(num,k/2+1))*Sum(num,k/2)%MOD;
    }
    else
    {
        return (1+num*Sum(num,k-1))%MOD;
    }
}
View Code

 

标签:等比数列,int,num,逆元,exp,return,AcWing,base,MOD
From: https://www.cnblogs.com/ydUESTC/p/16794677.html

相关文章

  • 整数二分查找模板与理解---acWing
    模板//区间[l,r]被划分成[l,mid]和[mid+1,r]时使用:intbsearch_1(intl,intr){-[]while(l<r){intmid=l+r>>1;if(c......
  • AcWing 算法提高课 博弈论
    1、SG函数SG函数的定义:可以到达的全部点的SG函数中没有出现的最小自然数可以解决棋子移动的博弈论问题推导方式基于nim游戏,https://www.acwing.com/solution/content/1......
  • AcWing 9.分组背包问题
    题目链接:http://www.acwing.com/problem/content/9/博客链接:https://www.cnblogs.com/marswithme/p/16778389.html 放AC代码1#include<bits/stdc++.h>2usingn......
  • ACWing Java基础语法记录-类与接口
    类可以将变量、函数完美地打包在一起。类与对象类定义一种全新的数据类型,包含一组变量和函数;对象是类这种类型对应的实例。解释:例如在一间教室中,可以将'Student'定义成......
  • AcWing 5.多重背包问题
    题目链接:https://www.acwing.com/problem/content/5/博客链接:https://www.cnblogs.com/marswithme/p/16756244.html放AC代码1#include<bits/stdc++.h>2usingname......
  • AcWing算法提高课 容斥原理
    容斥原理的复杂度是2^n,一般n不会很大形如:  由于容斥原理一共有2^n中选法,可以用二进制枚举,1表示选择某个条件。然后将偶数个1的状态加起来,奇数个1的状态减去例题:ht......
  • acwing.第72场周赛 t3最小移动距离
    AcWing4626.最小移动距离原题链接:https://www.acwing.com/problem/content/4629/思路要求对于每一个点x都满足走过t,到达一个目标点y.并且x和y都可以互为目标点。找出......
  • P3811 乘法逆元
    【模板】乘法逆元题目背景这是一道模板题题目描述给定\(n,p\)求\(1\simn\)中所有整数在模\(p\)意义下的乘法逆元。这里\(a\)模\(p\)的乘法逆元定义为\(ax......
  • AcWing算法提高课 卡特兰数
    卡特兰数的基本模型是,(0,0)->(n,n)且不越过x=y这条线等价于另一个模型:01序列且全部前缀中0的个数都大于1,其中0对应于x方向移动,1对应y方向移动例题:https://www.acwing.co......
  • AcWing算法提高课 分解质因数求组合数
    模板:intprimes[N],cnt;boolnot_prime[N];voidInit(){for(inti=2;i<N;i++){if(!not_prime[i]){primes[cnt++]=i;......