
数论
YihAN_Z
ただのあほです
展开
-
BZOJ 1951 [Sdoi2010] 古代猪文 数论 Lucas定理
题目大意:给定N,G,求 N,G不妨设那么如果求出来x,剩下的就是一步快速幂。问题转化为如何求x。设p=999911659 我们发现p是一个质数且G不可能为p的倍数,根据费马小定理有 即在mod p的意义下G^(p-1)=1 可以得到 其中我们还注意到,由于N,k很大,所以不能递推计算,只能用阶乘公式计算,这时需要用到Lucas定理。 然而计算组合数要用到原创 2017-01-02 10:49:49 · 869 阅读 · 2 评论 -
NOIP2016 模拟赛 By C_SUNSHINE Simple 数论
题目大意:对于给定正整数 a,b,我们称正整数c为好的,当且仅当存在非负整数a,b,使得 a*x+b*y=c。 现在给出多组数据,对于每组数据,给定 a,b,q,求[1,q]内有多少个正整数不是好的。a<=1e5,b<=1e9,q<=1e18,T<=10 好吧是我弱鸡想不出怎么做只好敲了60分暴力…(看数据范围猜出来是枚举n然而并没想出来)现在要求出[1,q]有多少数是不好的,也就是q-好数的个数。原创 2017-01-14 16:17:16 · 1043 阅读 · 0 评论 -
BZOJ 1257 [CQOI2007]余数之和sum 数论
题目大意:求将取余变为除法 n*k直接计算,k/i至多有2*sqrt(k)种取值,对于每个值将i求和计算。时间复杂度O(sqrt(k))#include <cstdio>#include <algorithm>using namespace std;long long n,k,ans;int main() { scanf("%lld%lld",&n,&k); long lo原创 2017-03-07 16:18:17 · 457 阅读 · 0 评论 -
BZOJ 2705 [SDOI2012]Longge的问题 数论
题目大意:求设d=gcd(i,n),将gcd相同的放在一起计算,将式子从枚举i转化成枚举d。当满足表达式exp时[exp]为1,否则为0,则原式转化为 不容易求出gcd等于d的数的个数,但是可以求出gcd等于1(也就是互质)的数的个数,将i除以d,变为 #include <cstdio>#include <cmath>using namespace std;typedef long l原创 2017-03-07 17:20:17 · 301 阅读 · 0 评论 -
BZOJ 2226 [Spoj 5971] LCMSum 数论
题目大意:求 (lcm为最小公倍数) 将lcm转化一下,把常量提到循环外,变为 枚举gcd,将式子化为 这里对循环里面的i乘以d,但对于限制i的条件来说就是除以d 对于里层的sigma求和,可以利用欧拉函数的性质:小于n的质数的和为n*phi(n)/2 答案为 线性预处理O(n),询问O(1)#include <cstdio>#include <cmath>#define原创 2017-03-07 22:53:12 · 513 阅读 · 0 评论 -
为什么p为质数时在模p意义下(p-1)!的逆元等于p-1
证明:当p为质数时,(p-1)!的逆元为p-1。若(p-1)!的逆元为p-1,则有原创 2017-03-28 16:11:09 · 1822 阅读 · 0 评论 -
BZOJ 2186 [Sdoi2008] 沙拉公主的困惑 逆元/欧拉定理
题目大意:有T次询问,给定一个质数R作为模数。每组询问给定n和m,求1至N!中与M!互质的数的数量对R取模后的值。 数据范围T<=10000求[1,N!]中有多少数与M!互质…好像不会但是我们可以求[1,M!]中有多少数与M!互质。我们有欧拉函数 φ(M!)即[1,M!]中与M!互质的数的个数,p(i)即M!的质因数,每种质因数只有一个。现在想办法怎么把区间扩大到[1,N!]。不难发现,若一个数x原创 2017-01-01 11:13:25 · 486 阅读 · 0 评论