[ SDOI 2010 ] 古代猪文
\(\\\)
Description
一句话题意:
设 \(x=\sum_{d|n} C_n^d\),求 \(G^x\pmod {999911659}\) 。
从原题面大段语文中其实不难推出所求。
\(\\\)
Solution
以前一不敢碰..... 今天做做发现是个水题
显然问题在指数上,而不是整个式子。
暴力检验一下,发现模数为质数。根据费马小定理,\(a^k\equiv a^{k\pmod {p-1}}\pmod{p-1}\) 。
所以所求化为 \(\sum_{d|n}C_{n}^d\pmod{999911658}\) woc怕不是要EXCRT
后来发现这个模数很萎.....标准分解一下 \(999911659=2\times3\times4679\times35617\) 。
叫什么 square-free-number ,其实就是只为考个 \(CRT\) 强行凑了一个数罢了......
对四个质数分别用 \(Lucas\) 搞一下,然后 \(CRT\) 合并就好了。
其实最后还是被坑了一下,注意最外层快速幂的模数跟 CRT 合并的时候的 M 不同。
还要特判 \(a\ |\ p\) 的情况,因为这种情况下费马小定理不成立。
\(\\\)
Code
#include<cmath>
#include<cstdio>
#include<cctype>
#include<cstdlib>
#include<cstring>
#include<iostream>
#include<algorithm>
#define R register
#define N 50010
#define mo 999911658ll
using namespace std;
typedef long long ll;
ll mod[5]={0,2,3,4679,35617},m[5],fac[N];
inline void init(ll p){
fac[0]=1;
for(R ll i=1;i<=p;++i) fac[i]=fac[i-1]*i%p;
}
inline ll qpow(ll x,ll t,ll p){
ll res=1;
while(t){
if(t&1) (res*=x)%=p;
(x*=x)%=p; t>>=1;
}
return res;
}
ll C(ll n,ll m,ll p){
if(m>n) return 0;
return fac[n]*qpow(fac[m],p-2,p)%p*qpow(fac[n-m],p-2,p)%p;
}
ll lucas(ll n,ll m,ll p){
if(n<m) return 0;
if(!m||!n) return 1;
return C(n%p,m%p,p)*lucas(n/p,m/p,p)%p;
}
inline ll solve(ll n,ll p){
init(p);
ll t=sqrt(n),res=0;
for(R ll i=1;i<=t;++i)
if(n%i==0){
(res+=lucas(n,i,p))%=p;
if(n/i!=i) (res+=lucas(n,n/i,p))%=p;
}
return res;
}
inline ll CRT(ll n){
ll res=0;
for(R ll i=1;i<=4;++i){
m[i]=mo/mod[i];
res=(res+m[i]*solve(n,mod[i])%mo*qpow(m[i],mod[i]-2,mod[i]))%mo;
}
return res;
}
int main(){
ll n,g;
scanf("%lld%lld",&n,&g);
if(g%(mo+1)==0){puts("0");return 0;}
printf("%lld\n",qpow(g,CRT(n),mo+1));
return 0;
}
[ SDOI 2010 ] 古代猪文的更多相关文章
- 【数学/扩展欧几里得/Lucas定理】BZOJ 1951 :[Sdoi 2010]古代猪文
Description “在那山的那边海的那边有一群小肥猪.他们活泼又聪明,他们调皮又灵敏.他们自由自在生活在那绿色的大草坪,他们善良勇敢相互都关心……” ——选自猪王国民歌 很久很久以前,在山的那边 ...
- BZOJ-1951 古代猪文 (组合数取模Lucas+中国剩余定理+拓展欧几里得+快速幂)
数论神题了吧算是 1951: [Sdoi2010]古代猪文 Time Limit: 1 Sec Memory Limit: 64 MB Submit: 1573 Solved: 650 [Submit ...
- BZOJ 1951: [Sdoi2010]古代猪文( 数论 )
显然答案是G^∑C(d,N)(d|N).O(N^0.5)枚举N的约数.取模的数999911659是质数, 考虑欧拉定理a^phi(p)=1(mod p)(a与p互质), 那么a^t mod p = a ...
- 1951: [Sdoi2010]古代猪文
1951: [Sdoi2010]古代猪文 Time Limit: 1 Sec Memory Limit: 64 MBSubmit: 2171 Solved: 904[Submit][Status] ...
- BZOJ 1951: [Sdoi2010]古代猪文 [Lucas定理 中国剩余定理]
1951: [Sdoi2010]古代猪文 Time Limit: 1 Sec Memory Limit: 64 MBSubmit: 2194 Solved: 919[Submit][Status] ...
- 古代猪文:数论大集合:欧拉定理,exgcd,china,逆元,Lucas定理应用
/* 古代猪文:Lucas定理+中国剩余定理 999911658=2*3*4679*35617 Lucas定理:(m,n)=(sp,tp)(r,q) %p 中国剩余定理:x=sum{si*Mi*ti} ...
- [SDOI2010]古代猪文 (欧拉,卢卡斯,中国剩余)
[SDOI2010]古代猪文 \(solution:\) 这道题感觉综合性极强,用到了许多数论中的知识: 质因子,约数,组合数 欧拉定理 卢卡斯定理 中国剩余定理 首先我们读题,发现题目需要我们枚举k ...
- 洛咕 P2480 [SDOI2010]古代猪文
洛咕 P2480 [SDOI2010]古代猪文 题目是要求\(G^{\sum_{d|n}C^d_n}\). 用费马小定理\(G^{\sum_{d|n}C^d_n\text{mod 999911658} ...
- BZOJ 1951 【SDOI2010】 古代猪文
题目链接:古代猪文 好久没写博客了,这次就先写一篇吧…… 题面好鬼……概括起来就是:给出\(N,G(\leqslant 10^9)\),求:\[G^{\sum_{d|n}\binom{n}{d}} \ ...
随机推荐
- Spring学习笔记——Spring中lazy-init与abstract具体解释
Spring的懒载入的作用是为了避免无谓的性能开销,就是当真正须要数据的时候才去运行数据的载入操作.不只在Spring中.我们在实际的编码过程中也应该借鉴这种思想,来提高我们程序的效率. 首先我们看一 ...
- SPOJ QTREE6 lct
题目链接 岛娘出的题.还是比較easy的 #include <iostream> #include <fstream> #include <string> #inc ...
- VS code - code Snippet
For anyone working on the UI and using VS Code, you can create a user Snippet and keyboard shortcut ...
- 暴力破解zip文件
#coding=utf-8 """ 用户输入-z参数指定要破解的zip文件,输入-d参数输入字典文件,即可暴力破解加密的zip文件 """ ...
- Node-webkit 介绍
什么是Node-webkit ? Node-webkit 是Intelproject师rogerwang写的一个基于node.js和chromium的应用程序执行环境,通过node-webkit,我们 ...
- SQL Server中一些有用的日期sql语句
SQL Server中一些有用的日期sql语句 1.一个月第一天的 SELECT DATEADD(mm, DATEDIFF(mm,0,getdate()), 0) 2.本周的星期一 SELECT DA ...
- 配置mahout
构建Mahout要求系统事先安装 1)JDK 1.6 或更高版本 2)Maven 2.0.9 或 2.0.10 Mahout是Hadoop的一种高级应用.运行Mahout需要提前安装好Hadoop.H ...
- C#生成Excel文件后彻底解除占用代码(来着CSDN)
http://bbs.csdn.net/topics/280078428 jy251 LS说KILL进程的朋友们···我说...你们真行!!!如果用户是administrator还行,如果不是怎么办? ...
- 提高比特率 有损 无损 Video-and-Audio-file-format-conversion 视频声音转码
3 Ways to Change Bitrate on MP3 Files https://www.online-tech-tips.com/software-reviews/change-bitra ...
- ABAP 读取服务器CSV文件到内表
DATA: BEGIN OF gs_data , cola TYPE string, colb TYPE string, ... END OF gs_data, gt_data LIKE TABLE ...