#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int a[4]={2,3,4679,35617};
int p[36000],b[4],n,g,ans,i,j,x,y,mod=999911658;
int power(int a,int b){//快速幂 int c=1;for(;b;b>>=1){if(b&1) c=(ll)c*a%mod;a=(ll)a*a%mod;}return c;
}
void exgcd(int a,int b,int &x,int &y){if(!b) {x=1,y=0; return;}exgcd(b,a%b,x,y);int z=x; x=y; y=z-y*(a/b);
}
int inv(int a,int p){//求乘法逆元 int x,y;exgcd(a,p,x,y);return (x%p+p)%p;
}
int calc(int x,int mod){//求C(n,x)%mod的值 int ans=1,y,a,b;for(y=n;x;x/=mod,y/=mod){//lucas定理 a=x%mod,b=y%mod;ans=(ll)ans*p[b]%mod*inv(p[a],mod)%mod*inv(b<a?0:p[b-a],mod)%mod;//p[n]是n的阶乘取模mod的结果。 }return ans;
}
int main(){cin>>n>>g;g%=mod+1;if(!g) {cout<<"0\n"; return 0;}for(p[0]=i=1;i<=a[3];i++) p[i]=(ll)p[i-1]*i%mod;//预处理n的阶乘(处理到取模数就可以了) for(i=1;i*i<=n;i++)if(n%i==0){for(j=0;j<4;j++) b[j]=(b[j]+calc(i,a[j]))%a[j];if(i*i!=n)for(j=0;j<4;j++) b[j]=(b[j]+calc(n/i,a[j]))%a[j]; }for(i=0;i<4;i++){exgcd(mod/a[i],a[i],x,y);ans=(ans+(ll)x*(mod/a[i])%mod*b[i])%mod;}ans=(ans+mod)%mod,mod++;ans=power(g,ans);cout<<ans<<endl;return 0;
}

  

转载于:https://www.cnblogs.com/pkgunboat/p/9530517.html

bzoj1951 组合数取模 中国剩余定理相关推荐

  1. 组合数学 —— 组合数取模 —— 卢卡斯定理与扩展卢卡斯定理

    [卢卡斯定理] 1.要求:p 是质数,m.n 很大但 p 很小 或者 n.m 不大但大于 p 2.定理内容 其中, 3.推论 当将 n 写成 p 进制:,将 m 写成 p 进制: 时,有: 4.实现 ...

  2. 2015 ICL, Finals, Div. 1 Ceizenpok’s formula(组合数取模,扩展lucas定理)

    J. Ceizenpok's formula time limit per test 2 seconds memory limit per test 256 megabytes input stand ...

  3. 数论一之定理证明——裴蜀/威尔逊/费马/扩展欧几里得/[扩展]欧拉/[扩展]中国剩余定理,欧拉函数,逆元,剩余系,筛法

    打死没想到会在H老师处学懂数论 同余,整除 模运算 埃式筛法 欧拉筛法 最大公约数和最小公倍数 辗转相除法 更相减损术 裴蜀定理 威尔逊定理 费马定理 同余等价类.剩余系.缩系 欧拉函数 欧拉定理 扩 ...

  4. 数论 —— 线性同余方程组与中国剩余定理

    [线性同余方程组] 由若干个线性同余方程构成的线性方程组. 例如: 其解法最早由我国<孙子算经>给出,因此解法称为"孙子定理",又叫"中国剩余定理" ...

  5. 密码学基础算法(二)中国剩余定理

    随便谷歌了一个图片做首图 原图地址: http://www.siwapu.com/etagid41968b0/ 密码学基础系列: (一) 基于整数的欧几里得算法和扩展欧几里得算法 (二) 中国剩余定理 ...

  6. 扩展欧几里得算法、乘法逆元与中国剩余定理

    文章目录 前言 定义.定理和部分证明 整除 定义 定理 定理的证明 同余 定义 同余的性质 同余的运算律 运算律的证明 扩展欧几里得算法 代码模板 算法详解 乘法逆元 求解逆元 乘法逆元的作用 中国剩 ...

  7. python中国剩余定理公式_《孙子算经》之物不知数题:中国剩余定理

    1.<孙子算经>之"物不知数"题 今有物不知其数,三三数之剩二,五五数之剩七,七七数之剩二,问物几何? 2.中国剩余定理 定义: 设 a,b,m 都是整数.  如果 m ...

  8. ACM数论----中国剩余定理与拓展中国剩余定理

    一.问题引入: 在<孙子算经>中有这样一个问题:"今有物不知其数,三三数之剩二(除以3余2),五五数之剩三(除以5余3),七七数之剩二(除以7余2),问物几何?"这个问 ...

  9. 博客处女作:中国剩余定理与扩展中国剩余定理

    各位好啊,这里是蒟蒻gigo_64的第一篇博客,,这里我们开始啦. 本文需要读者知晓扩展欧几里得,如果不会请点击这个大佬的链接;https://blog.csdn.net/sslz_fsy/artic ...

最新文章

  1. M_Map画南海水深地形图
  2. web怎么用代码创造表格_Python新工具:用三行代码提取PDF表格数据
  3. GVA gin vue从后端接口获取多选下拉框数据
  4. httpd2.4源码编译
  5. 为什么到今天还要坚持写博客(转)
  6. Swift快速参考手册
  7. 阿里投资网红茶饮“茶颜悦色” 进军茶饮市场?官方回应:爸爸的爸爸叫爷爷...
  8. 搜索引擎的那些事(中文分词)
  9. IDEA插件jrebel的配置使用
  10. 如何将QQ内置可爱的表情包转换为通用GIF文件
  11. C# GridView 排序及分页
  12. 黑苹果 U盘刻录工具Transmac与Etcher使用
  13. WIN10 下 autocad2006 及其他版本打开文件多窗口不能一个窗口的解决办法
  14. fastlane二开java_iOS中使用Fastlane实现自动化打包和发布
  15. udal导mysql_MySQL性能测试工具之mysqlslap
  16. 少有人走的路 - 读书笔记
  17. 出现ERROR 1698 (28000): Access denied for user ‘root‘@‘localhost‘ 的解决方法
  18. 江苏省电子税务局中文点选验证码识别研究
  19. 上海房产税免征--积分或居住证
  20. TM4C123G学习记录(2)--GPIO

热门文章

  1. Yum卸载软件并删除依赖,下载离线rpm包,制作拷贝rpm包dockerfile
  2. entity、model和domain三者区别
  3. 不要和Java“结婚”
  4. Kubernetes大集群怎么管?基于监控的弹性伸缩方法
  5. 拿什么来衡量程序员的生产力?
  6. React入门指引与实战
  7. Android --- RecyclerView 水平滑动时,一个 item 一个 item 的滑动,禁止滑动到一半停止
  8. linux离线安装rjava,无法在ubuntu系统上安装rJava
  9. java程序设计 第2版 唐大仕_《Java程序设计(第2版)》唐大仕 源代码
  10. 配电基础知识汇总,99%的人都收藏了!