洛咕 P2480 [SDOI2010]古代猪文
洛咕 P2480 [SDOI2010]古代猪文
题目是要求\(G^{\sum_{d|n}C^d_n}\)。
用费马小定理\(G^{\sum_{d|n}C^d_n\text{mod 999911658}}\)
因数可以\(O(\sqrt n)\)枚举。
分解质因数,\(999911658=2×3×4679×35617\),对这4个模数用lucas跑一遍答案,用crt合并。
// luogu-judger-enable-o2
#include<bits/stdc++.h>
#define il inline
#define vd void
#define MOD 999911659
#define Mod 999911658
typedef long long ll;
il int gi(){
int x=0,f=1;
char ch=getchar();
while(!isdigit(ch)){
if(ch=='-')f=-1;
ch=getchar();
}
while(isdigit(ch))x=x*10+ch-'0',ch=getchar();
return x*f;
}
const int mod[]={0,2,3,4679,35617};
int p[5][35700],inv[5][35700],ans[5];
il int pow(int x,int y,int mo){
int ret=1;
while(y){
if(y&1)ret=1ll*ret*x%mo;
x=1ll*x*x%mo;y>>=1;
}
return ret;
}
il int C(int x,int y,int m){return 1ll*p[m][x]*inv[m][1ll*p[m][y]*p[m][x-y]%mod[m]]%mod[m];}
il int Lucas(int x,int y,int m){
if(x<y)return 0;if(!x)return 1;
return 1ll*Lucas(x/mod[m],y/mod[m],m)*C(x%mod[m],y%mod[m],m)%mod[m];
}
int main(){
#ifndef ONLINE_JUDGE
freopen("2480.in","r",stdin);
freopen("2480.out","w",stdout);
#endif
int n=gi(),g=gi();
if(g==MOD)return puts("0"),0;
for(int i=1;i<=4;++i){
p[i][0]=1;for(int j=1;j<mod[i];++j)p[i][j]=1ll*p[i][j-1]*j%mod[i];
inv[i][1]=1;for(int j=2;j<mod[i];++j)inv[i][j]=(mod[i]-1ll*(mod[i]/j)*inv[i][mod[i]%j]%mod[i])%mod[i];
}
for(int i=1;i*i<=n;++i)
if(n%i==0){
for(int j=1;j<=4;++j)ans[j]=(ans[j]+Lucas(n,i,j))%mod[j];
if(i*i!=n)for(int j=1;j<=4;++j)ans[j]=(ans[j]+Lucas(n,n/i,j))%mod[j];
}
int tot=0;
for(int i=1;i<=4;++i)tot=(tot+1ll*ans[i]*(Mod/mod[i])%Mod*inv[i][(Mod/mod[i])%mod[i]]%Mod)%Mod;
printf("%d\n",pow(g,tot,MOD));
return 0;
}
洛咕 P2480 [SDOI2010]古代猪文的更多相关文章
- 洛谷 P2480 [SDOI2010]古代猪文 解题报告
P2480 [SDOI2010]古代猪文 题目背景 "在那山的那边海的那边有一群小肥猪.他们活泼又聪明,他们调皮又灵敏.他们自由自在生活在那绿色的大草坪,他们善良勇敢相互都关心--" ...
- 洛谷 P2480 [SDOI2010]古代猪文 题解【欧拉定理】【CRT】【Lucas定理】
数论综合题. 题目背景 题目背景与题目无关因此省略.题目链接 题目描述 猪王国的文明源远流长,博大精深. iPig 在大肥猪学校图书馆中查阅资料,得知远古时期猪文文字总个数为 \(N\).当然,一种语 ...
- 洛谷P2480 [SDOI2010]古代猪文(费马小定理,卢卡斯定理,中国剩余定理,线性筛)
洛谷题目传送门 蒟蒻惊叹于一道小小的数论题竟能涉及这么多知识点!不过,掌握了这些知识点,拿下这道题也并非难事. 题意一行就能写下来: 给定\(N,G\),求\(G^{\sum \limits _{d| ...
- 洛谷P2480 [SDOI2010]古代猪文
要求(图是盗来的QAQ) 首先用欧拉定理把幂模一下,直接就是MOD-1了 然后发现MOD-1可以分解为2,3,4679,35617,都是质数,可以直接用Lucas定理 然后用中国剩余定理合并一下即可 ...
- 洛谷P2480 [SDOI2010]古代猪文(卢卡斯定理+中国剩余定理)
传送门 好吧我数学差的好像不是一点半点…… 题目求的是$G^{\sum_{d|n}C^d_n}mod\ 999911659$ 我们可以利用费马小定理$a^{k}\equiv a^{k\ mod\ (p ...
- 【题解】P2480 [SDOI2010]古代猪文 - 卢卡斯定理 - 中国剩余定理
P2480 [SDOI2010]古代猪文 声明:本博客所有题解都参照了网络资料或其他博客,仅为博主想加深理解而写,如有疑问欢迎与博主讨论✧。٩(ˊᗜˋ)و✧*。 题目描述 猪王国的文明源远流长,博大精 ...
- P2480 [SDOI2010]古代猪文
P2480 [SDOI2010]古代猪文 比较综合的一题 前置:Lucas 定理,crt 求的是: \[g^x\bmod 999911659,\text{其中}x=\sum_{d\mid n}\tbi ...
- P2480 [SDOI2010]古代猪文 Lucas+CRT合并
\(\color{#0066ff}{ 题目描述 }\) 猪王国的文明源远流长,博大精深. iPig在大肥猪学校图书馆中查阅资料,得知远古时期猪文文字总个数为N.当然,一种语言如果字数很多,字典也相应会 ...
- luogu P2480 [SDOI2010]古代猪文
M_sea:这道题你分析完后就是一堆板子 废话 理解完题意后,我们要求的东西是\(G^s(s=\sum_{d|n} \binom{n}{d})\) 但是这个指数\(s\)算出来非常大,,, 我们可以利 ...
随机推荐
- [翻译] NSRegexTester
NSRegexTester This is a very simple Mac OS X application that allows you to test regular expressions ...
- 解决 锁定文件失败 打不开磁盘“D:\ubuntu\Ubuntu 64 位.vmdk”或它所依赖的某个快照磁盘。 模块 Disk”启动失败
一次在使用虚拟机的过程中,电脑出问题强制关机后,重新打开虚拟机,出现了“文件锁定失败”,打不开虚拟机的情况. 上网百度查相关的解决方案,终于解决了问题.因为虚拟机运行的时候会创建相应的文件,即在虚拟机 ...
- 多台服务器共享session问题
在现在的大型网站中,如何实现多台服务器中的session数据共享呢 当使用多台服务器架设成集群之后,我们通过负载均衡的方式,同一个用户(或者ip)访问时被分配到不同的服务器上,假设在A服务器登录,如果 ...
- MySQL 索引的介绍与应用
Mysql索引 一. mysql 索引 索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息. 二:MySQL索引类型 按存储结构区分:聚集索引(又称聚类索引,簇 ...
- .net 和 core 数据库连接字符串
Data Source=(LocalDb)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\aspnet-xxxx.mdf;Initial Catalog= ...
- (1)访问控制 (2)final关键字 (3)对象创建的过程 (4)多态
1.访问控制(笔试题)1.1 常用的访问控制符 public - 公有的 protected - 保护的 啥也不写 - 默认的 private - 私有的 1.2 访问控制符的比较 访问控制符 访问权 ...
- 全局变量是列表list 的改变, 竟然在局部,用append 就可以了..... 不用global sth...
lst = ["麻花藤", "刘嘉玲", "詹姆斯"]def func(): lst.append("⻢云云") # 对 ...
- SDN上机第二次作业
SDN第二次上机作业 1.安装floodlight 参考链接:http://www.sdnlab.com/19189.html 2.生成拓扑并连接控制器floodlight,利用控制器floodlig ...
- POJ 3294 Life Forms [最长公共子串加强版 后缀数组 && 二分]
题目:http://poj.org/problem?id=3294 Life Forms Time Limit: 5000MS Memory Limit: 65536K Total Submiss ...
- k8s1.8 ingress 配置
kubectl create secret tls ingress-secret-fengjian --key /data/sslkey/cinyi.key --cert /data/sslkey/c ...