古代猪文

题意:

给定q ,n  求$q^{\sum\limits {d|n} C_{n}^{d} }mod 999911659$

题解:

首先如果你直接算次方上的数的话会炸掉,因为欧拉定理我们可以得到

$q^{\sum\limits {d|n} C_{n}^{d} mod999911658}mod 999911659$

因为mod的数是个合数

我们尝试分解质因数 $999911658=2\times 3\times 4679\times 35617$

遇到这种式子不要急着$ex_lucas$,观察性质,$999911658 $中分解的数都为$1$次

所以我们可以直接用$lucas$求出来$mod$ $2$,$3$,$4679$,$35617$下各自的值,最后中国剩余定理合并即可

具体实现看代码

代码:

#include<bits/stdc++.h>
#define ll long long
#define A 40000
ll a[A],b[A],k,p,n;
ll w[6]={0,2,3,4679,35617,999911659};
ll jie[5][A],ni[5][A];
ll exgcd(ll a,ll b,ll &x,ll &y){if(b==0){x=1;y=0;return a;}ll gcd=exgcd(b,a%b,x,y);ll t=x;x=y;y=t-a/b*y;return gcd;
}
ll meng(ll x,ll k,ll cix){ll ans=1;for(;k;k>>=1,x=x*x%w[cix])if(k&1)ans=ans*x%w[cix];return ans;
}
ll china(){ll x,y,a=0,m,n=1;for(ll i=1;i<=4;i++)n*=w[i];for(ll i=1;i<=4;i++){m=n/w[i];exgcd(w[i],m,x,y);a=(a+y*m*b[i])%n;}if(a>0) return a;return a+n;
}
ll jic(ll n,ll m,ll cix){if(m>n) return 0;if(m==0) return 1;
//    printf("jie=%lld ni=%lld ni2=%lld n=%lld m=%lld\n",jie[cix][n],ni[cix][n-m],ni[cix][m],n,m);return jie[cix][n]%w[cix]*ni[cix][n-m]%w[cix]*ni[cix][m]%w[cix];
}
ll lucas(ll n,ll m,ll cix){if(n==0)return 1;
//    printf("jic=%lld n=%lld m=%lld cix=%lld n=%lld m=%lld\n",jic(n%w[cix],m%w[cix],cix),n%w[cix],m%w[cix],cix,n,m);return jic(n%w[cix],m%w[cix],cix)*lucas(n/w[cix],m/w[cix],cix)%w[cix];
}
using namespace std;
int main()
{scanf("%lld%lld",&n,&p);if(n==999911659){cout<<0<<endl;return 0;}for(ll i=1;i<=4;i++){jie[i][0]=1;ni[i][0]=1;for(ll j=1;j<w[i];j++)jie[i][j]=jie[i][j-1]*j%w[i];ni[i][w[i]-1]=meng(jie[i][w[i]-1],w[i]-2,i);
//        printf("jie=%lld ni=%lld\n",jie[i][w[i]-1],ni[i][w[i]-1]);for(ll j=w[i]-2;j>=1;j--){ni[i][j]=ni[i][j+1]*(j+1)%w[i];
//if(j>=35600)            printf("ni[%lld][%lld]=%lld\n",i,j,ni[i][j]);
        }for(ll j=1;j*j<=n;j++){if((n%j)==0){
//                printf("luc=%lld i=%lld j=%lld\n",lucas(n,j,i),i,j);(b[i]+=lucas(n,j,i))%=w[i];            if(j*j!=n){(b[i]+=lucas(n,n/j,i))%=w[i];}}
//            printf("b[%lld]=%lld j=%lld\n",i,b[i],j);//            printf("b[%lld]=%lld j=%lld\n",i,b[i],j);
        }}
//    for(ll i=1;i<=4;i++)
//        printf("%lld\n",b[i]);ll j=china();
//    cout<<j<<endl;ll k=meng(p,china(),5);cout<<k<<endl;//模w「i」 剩余b「i」    
}

 

转载于:https://www.cnblogs.com/znsbc-13/p/11233285.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/349914.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux gcc 7.3.0安装,升级gcc到7.3.0

#查看当前版本gcc --version # 先查看当前版本确认是否需要升级tar -zxvf gcc-7.3.0.tar.gzcd gcc-7.3.0#检测和安装相关依赖包&#xff0c;这个过程需要耐心等待&#xff0c;此步骤会将依赖包下载到gcc-7.3.0目录&#xff0c;如果因网络原因无法完成请自行使用wget下载。该步骤…

使用Envoy代理的微服务模式,第二部分:超时和重试

该博客是系列文章的一部分&#xff0c;该系列文章更深入地介绍了Envoy Proxy和Istio.io &#xff0c;以及它如何实现更优雅的连接和管理微服务的方式。 跟随我christianposta &#xff0c;紧跟这些博客文章的发布。 什么是Envoy代理 &#xff0c;它如何工作&#xff1f; 如何…

矩阵快速幂总结

依然主要还是自用 首先矩阵一条性质的概述和证明 概述:对于一个临接矩阵$G$来说&#xff0c;它自乘$G^k$次方中$G[i][j]$含义为从i走到j走k步方案数. 证明:比较麻烦,我们设f[i]表示从1走到其他点方案数,那么根据矩阵递推优化,k次就是转移了k次,那么每次走一步,k次就是走了k步 最…

c语言有一个正整数加上100,c语言编程实现:一个整数,它加上100后是完全平方数,再加168又是完全平方数,求该数。...

满意答案问题&#xff1a;一整数&#xff0c;它加100后是完全平方数&#xff0c;再加168还是完全平方数&#xff0c;求该整数解题思路&#xff1a;设该数为x&#xff0c;它加100后是A&#xff0c;再加168为B。则因为A是完全平方数&#xff0c;所以A为正数&#xff0c;且Ay*y&am…

C语言计算分段函数pta,PTA浙大版《C语言程序设计(第3版)》题目集 练习2-11 计算分段函数[2] (10分)...

1.编程将一个字符串中所有空格替换为“%20”#define _CRT_SECURE_NO_WARNINGS#include #includeusing namespace std;const int maxd 20;//最大深度int m[1 << maxd];//最大结点个数为2的maxd次方-1//编程将字符串中的空格用%20代替…2021/5/21 3:32:25pssh是由python编写…

「PKUWC2018」Slay the Spire

国际惯例不放题干 扯淡 其实题目翻译过来是杀戮尖塔&#xff0c;某steam上的卡牌游戏&#xff0c;我也曾热衷刷榜 题解 首先题目中要求的期望是假期望,结合题目中所给的阶乘就可以看出这其实是从$2*n$张牌中选择$m$张牌使用,并且所有情况都取最大值时的和 首先排序贪心最大 再说…

java lambda使用_在Java 8 Lambda上使用Apache Commons Functor功能接口

java lambda使用Apache Commons Functor &#xff08;以下称为[functor]&#xff09;是一个Apache Commons组件&#xff0c;它提供功能性的编程API和已实现的几种模式&#xff08;访问者&#xff0c;生成器&#xff0c;聚合器等&#xff09;。 Java 8具有几个不错的新功能&…

基于svm图像分类C语言,基于SVM的图像分类算法与实现.PDF

, ( ) 计算机工程与应用40 ComputerEngineeringandApplications基于SVM的图像分类算法与实现张淑雅 赵一鸣 李均利, ,, ,ZHANGShu-yaZHAOYi-mingLIJun-li宁波大学 数字技术与应用软件研究所 浙江 宁波, 315211, , , ,InstituteofDSPandSoftwareTechniquesNingboUniversityNingb…

前端ui框架

http://frozenui.github.io/components.html#progress rozenUI是什么 Frozen UI是一个开源的简单易用&#xff0c;轻量快捷的移动端UI框架。基于手Q样式规范&#xff0c;选取最常用的组件&#xff0c; 做成手Q公用离线包减少请求&#xff0c;升级方式友好&#xff0c;文档完善…

德国留学语言c1,德国留学申请,关于语言

申请德国大学并不容易&#xff0c;语言是一大关。对于申请德国大学的人来说&#xff0c;除国际课程和个别专业外&#xff0c;各大学对申请人德语学时要求一般都在800学时以上&#xff0c;目前比较权威的德语考试有TestDaf和DSH这两种类型。TestDaF&#xff1a;“外国学生申请大…

一个iOS表单框架-UFKit

效果&#xff1a; 使用&#xff1a; pod UFKit- (void)viewDidLoad {[super viewDidLoad];__block UFFormView *formView [UFFormView makeFormView:^(UFFormViewMaker * _Nonnull make) {make.addSection([UFSection makeSection:^(UFSectionMaker * _Nonnull make) {make.ad…

c语言手写指针和乘号,C-学会使用指针(示例代码)

先说&#xff1a;唯手熟尔指针指针存储着一个内存空间的地址定义一个指针int a&#xff1b;int * p&#xff1b;定义一个指针&#xff0c;只需在变量前面加一个 * 号。这里的指针只能存储一个存放整数的内存空间的地址指针如何存储地址p &a;&叫取地址符。这样整形指针…

考后反思7.25

D1 考试时首先看的第一题&#xff0c;不会&#xff0c;然后看第二题&#xff0c;原题&#xff01;&#xff01;&#xff01;&#xff01; 第二题啥也没想&#xff0c;就只是打了一个tarjan判割点&#xff0c; 打完的时候有点慌&#xff0c;总觉得自己打错了什么&#xff0c;调了…

android getinstance 方法,Android中的'new Fragment()'和'Fragment.getInstance()'有什么区别?...

当我们片段添加到特定的布局&#xff0c;我们可以使用folloing码Fragment fragment new SampleFragment();FragmentManager fragmentManager getSupportFragmentManager();FragmentTransaction fragmentTransaction fragmentManager.beginTransaction();fragmentTransaction…

查找发布地图的 REST URL并查询相关信息

1、登录ArcGIS Server Manager 2、登录后&#xff0c;里面是以前自己发布的地图服务 3、点击自己发布的地图&#xff0c;然后按下功能选项&#xff0c;再点击箭头来找到URL 4、点击进去&#xff0c;分别能从红圈中找到相关的信息&#xff0c;分别为arcgis JavaScript&#xff0…

maven使用testng_使用Maven Failsafe和TestNG分别运行单元测试和集成测试

maven使用testng最近&#xff0c;对于我的新宠物项目&#xff0c;我决定我希望在标准mvn测试期间执行一些测试&#xff0c;而仅在不同阶段执行一些其他测试 &#xff0c;我们称其为集成阶段。 我在谷歌上搜索&#xff0c;似乎没有任何工作&#xff0c;因此在努力使安装工作顺利…

android webview 重定向 goback,Android WebView 网址重定向影响 goBack

我们在使用 Android 自带的控件 WebView 访问某网址的时候, 网址会通过某些方式进行重定向. 这时会出现一个问题.我们在使用 Android 自带的控件 WebView 访问某网址的时候, 网址会通过某些方式进行重定向. 这时会出现一个问题.如下所示:你想要在 『A网址』 中打开 『C网址』, …

android 仿qq it蓝豹,《IT蓝豹》listview实现各种版面设计功能

本项目主要listview实现各种版面设计功能&#xff0c;有实现列表的&#xff0c;gridview效果的&#xff0c;有混排效果的等等。自定义TwoWayView继承RecyclerView&#xff0c;通过TwoWayView去根据布局实现到底选择哪一个效果&#xff0c;本项目来自&#xff1a;https://github…

AWS:启动安装了APOC的Neo4j实例

安装Neo4j之后&#xff0c;我要做的第一件事就是安装APOC库 &#xff0c;但是我发现在AWS上旋转服务器时这是一个手动过程&#xff0c;所以我想简化一下。 已经有一个Neo4j AMI可以安装Neo4j 3.2.0 &#xff0c;我的同事Michael指出&#xff0c;我们可以通过编写脚本并将其作为…

NOIP模拟测试8「寿司」

考试时打的类似$n^2$暴力&#xff0c;然后炸了只有10分 后来验证我的算法伪了。 题解 显然你有一种解法&#xff0c;假设你要在一个B点断开将R分别移向最左 最右&#xff0c;这样只用分别计算B点右面蓝色数量左面蓝色数量就得到了一个ans 这个题有一个很不显然的结论&#xff0…