传送门

显然需要先求出ab" role="presentation" style="position: relative;">abab的所有质因数和它们的指数。

但求出来之后并不能直接上等比数列求和公式。

因为这道题并不能直接求逆元。

原因?

a的某个因数有可能已经大于9901了。

于是它可能是9901的倍数。

这样就gg了。

于是我们可以二分求解等比数列的和。

代码:

#include<iostream>
#include<cmath>
#define mod 9901
#define ll long long
#define xx first
#define yy second
using namespace std;
int a,b,tot=0;
ll ans=1;
inline ll ksm(ll x,ll p){
    ll ret=1;
    while(p){
        if(p&1)ret=ret*x%mod;
        x=x*x%mod,p>>=1;
    }
    return ret;
}
inline ll calc(ll x,ll y){
    if(!y)return 1;
    if(y&1)return ((1+ksm(x,y/2+1))*calc(x,y/2))%mod;
    return ((1+ksm(x,y/2+1))*calc(x,y/2-1)+ksm(x,y/2))%mod;
}
int main(){
    cin>>a>>b;
    for(int i=2;i*i<=a;++i){
        int cnt=0;
        while(a%i==0)a/=i,++cnt;
        (ans*=calc(i,cnt*b))%=mod;
    }
    if(a-1)(ans*=calc(a,b))%=mod;
    cout<<ans;
    return 0;
}

2018.09.11 poj1845Sumdiv(质因数分解+二分求数列和)的更多相关文章

  1. POJ 1845 Sumdiv#质因数分解+二分

    题目链接:http://poj.org/problem?id=1845 关于质因数分解,模板见:http://www.cnblogs.com/atmacmer/p/5285810.html 二分法思想 ...

  2. 2018.09.11 poj2976Dropping tests(01分数规划)

    传送门 01分数规划板子题啊. 就是简单变形移项就行了. 显然 ∑i=1na[i]∑i=1nb[i]≤k" role="presentation" style=" ...

  3. 2018.09.11 bzoj3629: [JLOI2014]聪明的燕姿(搜索)

    传送门 一道神奇的搜索. 直接枚举每个质因数的次数,然后搜索就行了. 显然质因数k次数不超过logkn" role="presentation" style=" ...

  4. spoj TBATTLE 质因数分解+二分

    题目链接:点击传送 TBATTLE - Thor vs Frost Giants #number-theory #sliding-window-1 Thor is caught up in a fie ...

  5. 2018.09.15 poj1734Sightseeing trip(floyd求最小环)

    跟hdu1599差不多.. 只是需要输出方案. 这个可以递归求解. 代码: #include<iostream> #include<cstdio> #include<cs ...

  6. 2018.09.11 loj#10216.五指山(exgcd)

    传送门 就是一个exgcd的板子. 但注意算距离差的时候是在一个环上面算. 还有,答案要开long long233... 注意这两点之后就是exgcd板子了. 代码: #include<bits ...

  7. 2018.09.11 bzoj47214721: [Noip2016]蚯蚓(单调队列)

    传送门 好题. 目测只会多带一个log2(n+m)" role="presentation" style="position: relative;"& ...

  8. 2018.09.11 bzoj2208: [Jsoi2010]连通数(bitset+floyd)

    传送门 听说正解是缩点+dfs? 直接bitset优化floyd传递闭包就行了.(尽管时间复杂度是假的O(n3/32)" role="presentation" styl ...

  9. HDU3988-Harry Potter and the Hide Story(数论-质因数分解)

    Harry Potter and the Hide Story Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/65536 ...

随机推荐

  1. leetcode13

    public class Solution { private int ChangeToInt(char c) { ; string s = c.ToString(); switch (s) { ca ...

  2. shell echo 打印换行

    echo -e "aaaaaaaaaaaaaaaaa\nbbbbbbbbbbbbbb"

  3. Git .gitignore使用 -- 过滤class文件或指定目录

    1. 进入当前的项目根目录 执行 git init touch .gitignore 2. 过滤class文件或指定目录 *.class /target/ 3. 提交 git add . 将所有文件提 ...

  4. jqGrid 使用案例及笔记

    jqGrid 是一个用来显示网格数据的jQuery插件,通过使用jqGrid可以轻松实现前端页面与后台数据的ajax异步通信. 一.要引用的文件 要使用jqGrid,首先页面上要引入如下css与js文 ...

  5. js执行机制(1)

    1.参考执行结果 setTimeout(function () { console.log('执行定时任务'); }); new Promise(function (resolve) { consol ...

  6. 主流JS库一览

    主流JS库一览 标签: prototypedojomootoolsprototypejsjqueryjavascript 2009-10-14 22:52 19936人阅读 评论(2) 收藏 举报   ...

  7. Linux 如何将一个文件夹的所有内容授权给某一个用户

    我们可以使用chown命令,ch这里代表change(改变)的意思,own代表英文单词的owner(拥有者),连在一起就是 change owner ,改变某个文件或者文件夹的拥有者. 一般只有roo ...

  8. JVM gc介绍

    Java语言出来之前,大家都在拼命的写C或者C++的程序,而此时存在一个很大的矛盾,C++等语言创建对象要不断的去开辟空间,不用的时候有需要不断的去释放控件,既要写构造函数,又要写析构函数,很多时候都 ...

  9. 实现Action的三种方式

    实现Action的三种方式: 1.普通类  一般采用此种方法 2.实现Action接口 3.继承ActionSupport类

  10. 4、注解反射生成SQL语句

    .任务说明         ①有一张用户表,字段包括:用户ID.用户名.昵称.年龄.性别.所在城市.邮箱.手机号:         ②使用java注解来对用户表的每个字段或字段的组合条件进行动态生成S ...