好吧刚开始以为扩展卢卡斯然后就往上套。。结果奇奇怪怪又WA又T。。。后来才意识到它的因子都是质数。。。qwq怕不是这就是学知识学傻了。。


题意:$ G^{\Sigma_{d|n} \space C_n^d}\space mod \space 999911659$

首先发现999911659是个质数,所以根据欧拉定理的推论有

$ G^{\Sigma_{d|n}\space C_n^d} \equiv G^{\Sigma_{d|n}\space C_n^d\space mod \space\phi(999911659)} \space mod \space 999911659$ ,而$\phi(999911659)=999911658$

对$999911658$算数基本定理分解$999911658= 2*3*4679*35617$,

所以我们用卢卡斯可以求出$ \Sigma_{d|n}\space C_n^d\space mod \space p_i$,再把他们中国剩余定理合并就好了;

  1. #include<cstdio>
  2. #include<iostream>
  3. #define ll long long
  4. #define R register ll
  5. using namespace std;
  6. const int mod[]={,,,},md=,mmd=;
  7. inline int g() {
  8. R ret=,fix=; register char ch; while(!isdigit(ch=getchar())) fix=ch=='-'?-:fix;
  9. do ret=ret*+(ch^); while(isdigit(ch=getchar())); return ret*fix;
  10. }
  11. int fac[];
  12. inline ll qpow(ll a,ll b,ll p) { R ret=; a%=p;
  13. for(;b;b>>=,(a*=a)%=p) if(b&) (ret*=a)%=p; return ret;
  14. }
  15. inline void exgcd(ll a,ll b,ll& x,ll& y) {
  16. if(!b) {x=,y=; return ;}
  17. exgcd(b,a%b,y,x),y-=a/b*x;
  18. }
  19. inline ll Inv(ll n,ll p) {
  20. R x,y; exgcd(n,p,x,y); return (x%p+p)%p;
  21. }
  22. inline ll C(ll n,ll m,ll p) {
  23. if(n<m) return ; return fac[n]*Inv(fac[n-m],p)%p*Inv(fac[m],p)%p;
  24. }
  25. inline ll L(ll n,ll m,ll p) {
  26. if(n<m) return ; if(!n) return ;
  27. return L(n/p,m/p,p)*C(n%p,m%p,p)%p;
  28. }
  29. ll n,G,anss,ans[];
  30. signed main() { fac[]=;
  31. n=g(),G=g(); G%=md+; if(!G) {printf("0\n"); return ;}
  32. for(R i=;i<mod[];++i) fac[i]=(ll)fac[i-]*i%md;
  33. for(R i=;i*i<=n;++i) if(n%i==) {
  34. for(R j=;j<=;++j) ans[j]=(ans[j]+L(n,i,mod[j]))%mod[j];
  35. if(i*i!=n) for(R j=;j<=;++j) ans[j]=(ans[j]+L(n,n/i,mod[j]))%mod[j];
  36. } for(R i=;i<=;++i) anss+=ans[i]*Inv(md/mod[i],mod[i])%md*md/mod[i]%md;
  37. printf("%lld\n",qpow(G,anss,mmd));
  38. } 

2019.05.18

Luogu P2480 [SDOI2010]古代猪文 卢卡斯+组合+CRT的更多相关文章

  1. 【题解】P2480 [SDOI2010]古代猪文 - 卢卡斯定理 - 中国剩余定理

    P2480 [SDOI2010]古代猪文 声明:本博客所有题解都参照了网络资料或其他博客,仅为博主想加深理解而写,如有疑问欢迎与博主讨论✧。٩(ˊᗜˋ)و✧*。 题目描述 猪王国的文明源远流长,博大精 ...

  2. luogu P2480 [SDOI2010]古代猪文

    M_sea:这道题你分析完后就是一堆板子 废话 理解完题意后,我们要求的东西是\(G^s(s=\sum_{d|n} \binom{n}{d})\) 但是这个指数\(s\)算出来非常大,,, 我们可以利 ...

  3. 洛咕 P2480 [SDOI2010]古代猪文

    洛咕 P2480 [SDOI2010]古代猪文 题目是要求\(G^{\sum_{d|n}C^d_n}\). 用费马小定理\(G^{\sum_{d|n}C^d_n\text{mod 999911658} ...

  4. 洛谷 P2480 [SDOI2010]古代猪文 解题报告

    P2480 [SDOI2010]古代猪文 题目背景 "在那山的那边海的那边有一群小肥猪.他们活泼又聪明,他们调皮又灵敏.他们自由自在生活在那绿色的大草坪,他们善良勇敢相互都关心--" ...

  5. P2480 [SDOI2010]古代猪文

    P2480 [SDOI2010]古代猪文 比较综合的一题 前置:Lucas 定理,crt 求的是: \[g^x\bmod 999911659,\text{其中}x=\sum_{d\mid n}\tbi ...

  6. 【BZOJ1951】[Sdoi2010]古代猪文 Lucas定理+CRT

    [BZOJ1951][Sdoi2010]古代猪文 Description 求$X=\sum\limits_{d|n}C_n^d$,$Ans=G^X (\mod 999911659)$. Input 有 ...

  7. 洛谷 P2480 [SDOI2010]古代猪文 题解【欧拉定理】【CRT】【Lucas定理】

    数论综合题. 题目背景 题目背景与题目无关因此省略.题目链接 题目描述 猪王国的文明源远流长,博大精深. iPig 在大肥猪学校图书馆中查阅资料,得知远古时期猪文文字总个数为 \(N\).当然,一种语 ...

  8. P2480 [SDOI2010]古代猪文 Lucas+CRT合并

    \(\color{#0066ff}{ 题目描述 }\) 猪王国的文明源远流长,博大精深. iPig在大肥猪学校图书馆中查阅资料,得知远古时期猪文文字总个数为N.当然,一种语言如果字数很多,字典也相应会 ...

  9. 洛谷P2480 [SDOI2010]古代猪文(费马小定理,卢卡斯定理,中国剩余定理,线性筛)

    洛谷题目传送门 蒟蒻惊叹于一道小小的数论题竟能涉及这么多知识点!不过,掌握了这些知识点,拿下这道题也并非难事. 题意一行就能写下来: 给定\(N,G\),求\(G^{\sum \limits _{d| ...

随机推荐

  1. Java应用中使用ShutdownHook友好地清理现场、退出JVM的2种方法

    Runtime.getRuntime().addShutdownHook(shutdownHook);    这个方法的含义说明:        这个方法的意思就是在jvm中增加一个关闭的钩子,当jv ...

  2. css3 利用perspective实现翻页效果和正方体 以及翻转效果

    要点: 1 实现3D效果就需要使用perspective属性 1 页面旋转使用css3的rorate 2 使用backface-visibility 实现正面元素翻转之后背面不可见,显示出反面的元素 ...

  3. 数据库管理员(Database Administrator,简称DBA)基本知识:

    数据库管理员(Database Administrator,简称DBA)基本知识: 一.数据库基础 1. 数据抽象:物理抽象.概念抽象.视图级抽象,内模式.模式.外模式 2. SQL语言包括数据定义. ...

  4. paramiko使用1

  5. .clearfix:after

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. [Gym 101334E]Exploring Pyramids(区间dp)

    题意:给定一个先序遍历序列,问符合条件的树的种类数 解题关键:枚举分割点进行dp,若符合条件一定为回文序列,可分治做,采用记忆化搜索的方法. 转移方程:$dp[i][j] = \sum {dp[i + ...

  7. 面试题: 数据库 真实面试题已看1 操作语句 存储过程 挺好 sql语句练习 有用

    今天到某公司笔试,数据库考的比较多,但是说老实话,考的也比较基础.现在趁回忆得起来,将数据库知识简单整理如下: 一.建表指令 比如创建一个学生表student,它由学号Sno,姓名Sname,性别Ss ...

  8. Spring IOP 没用

    Spring提供了很多轻量级应用开发实践的工具集合,这些工具集以接口.抽象类.或工具类的形式存在于Spring中.通过使用这些工具集,可以实现应用程序与各种开源技术及框架间的友好整合.比如有关jdbc ...

  9. 项目一:第五天 1、区域数据(pinyin4j-简码,城市编码) 2、Web层代码重构(model对象,分页代码提取) 3、区域分页查询 3、分区添加功能 4、定区管理管理-添加,分页

    Service: /** * @Description: 1.保存定区  2.让分区关联定区 * 对象三种状态 1.持久态(被session管理对象-一级缓存中有对象) 2.托管态(有OID标识,数据 ...

  10. Pig FOREACH 嵌套循环

    Example: Nested Block Suppose we have relations A and B. Note that relation B contains an inner bag. ...