题目大意:求$G^{\sum_{m|n} C_{n}^{m}}\;mod\;999911659\;$的值$(n,g<=10^{9})$ 并没有想到欧拉定理.. 999911659是一个质数,所以$\varphi(p)=p-1$ 利用欧拉定理,降幂化简式子$G^{\sum_{m|n} C_{n}^{m}\;mod\;\varphi(p)}$ 这样,指数部分可以用$Lucas$+中国剩余定理求解 然而..$G>10^9$很大,可能和模数$999911659$不互质!所以质数要额外加上$\varph…
显然答案是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^(t mod phi(p)) mod p.所以答案是G^(∑C(d,N)%(p-1))(d|N), 但是因为p-1不是质数, 所以只能先拆成质数的乘积, 各自用lucas计算然后中国剩余定理合并, 最后快速幂就行了. ----------------------------------------…
1951: [Sdoi2010]古代猪文 Time Limit: 1 Sec  Memory Limit: 64 MBSubmit: 2194  Solved: 919[Submit][Status][Discuss] Description “在那山的那边海的那边有一群小肥猪.他们活泼又聪明,他们调皮又灵敏.他们自由自在生活在那绿色的大草坪,他们善良勇敢相互都关心……” ——选自猪王国民歌 很久很久以前,在山的那边海的那边的某片风水宝地曾经存在过一个猪王国.猪王国地理位置偏僻,实施的是适应当时…
[SDOI2010]古代猪文 \(solution:\) 这道题感觉综合性极强,用到了许多数论中的知识: 质因子,约数,组合数 欧拉定理 卢卡斯定理 中国剩余定理 首先我们读题,发现题目需要我们枚举k(就是n的所有约数),并且对于每一个k都要用一个组合数算出其情况数(读题:不过具体是哪k分之一.这句话说明我们可以从n中取出任意k个字,所以情况数就是\(C(_n^k)\) )(然后因为我们求的组合数范围有点大,所以需要用卢卡斯定理来求组合数(接下来我们会发现模数其实比较小)).但是这道题目把所有情…
Description "在那山的那边海的那边有一群小肥猪.他们活泼又聪明,他们调皮又灵敏.他们自由自在生活在那绿色的大草坪,他们善良勇敢相互都关心--" --选自猪王国民歌 很久很久以前,在山的那边海的那边的某片风水宝地曾经存在过一个猪王国.猪王国地理位置偏僻,实施的是适应当时社会的自给自足的庄园经济,很少与外界联系,商贸活动就更少了.因此也很少有其他动物知道这样一个王国. 猪王国虽然不大,但是土地肥沃,屋舍俨然.如果一定要拿什么与之相比的话,那就只能是东晋陶渊明笔下的大家想象中的桃…
[题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=1951 [思路] 一道优(e)秀(xin)的数论题. 首先我们要求的是(G^sigma{ C(n,n/i),i|n })%P,即G^M %P,根据费马小定理G^(P-1) ≡1(mod P),我们要求的就是G^(M%(P-1)) %P. 考虑C(n,i)%(P-1),由于n i P都比较大所以不好求组合数.发现P-1可以分解质因数为2,3,4679,35617,将C(n,i)对每一个质…
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1951 数学综合题. 费马小定理得指数可以%999911658,又发现这个数可以质因数分解.所以分解做完再用中国剩余定理合并. 为什么不能预处理阶乘的逆元? 为什么正常的中国剩余定理会T?非得两两合并? 而且两两合并里的 a0+=m0*x 不太明白. PS:现在明白了.新的a是a=a1+m1*x1=a2+m2*x2,a的通解是a1加上任意倍的m1*x1. 需要特判!那些C( ).lucas(…
首先化简,题目要求的是 \[ G^{\sum_{i|n}C_{n}^{i}}\%p \] 对于乘方形式快速幂就行了,因为p是质数,所以可以用欧拉定理 \[ G^{\sum_{i|n}C_{n}^{i}\%\varphi(p)} \] \[ G^{\sum_{i|n}C_{n}^{i}\%p-1} \] 因为p-1不是质数,所以把它质因数分解为2,3,4679,35617,最后用中国剩余定理合并即可. #include<iostream> #include<cstdio> using…
#include<cstdio> #include<iostream> #include<cstring> #include<cmath> #define ll long long #define mul 999911659 using namespace std; ]; ]={,,,},C1[][]; void exgcd(int a1,int a2,int &x,int &y) { if(!a2) { x=; y=; return; }…
题目链接 \(Description\) 给定N,G,求\[G^{\sum_{k|N}C_n^k}\mod\ 999911659\] \(Solution\) 由费马小定理,可以先对次数化简,即求\(\sum_{k|N}C_n^k\mod\ 99991168\),然后快速幂就可以解决. 可以把999911659分解成4个质因数,分别用Lucas定理求解然后用CRT合并即可. 要注意费马小定理成立的条件: a,p互质,即G!=mod. //1380kb 156ms #include <cmath>…