数论
leonharetd
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
勾股数组
勾股定理:任意一个三角形的两条直角边边长的平方和等于斜边的平方用公式表示 a^2 + b^2 = c ^2这里有几个概念1.本原勾股数组:是一个三元组(a,b,c),其中a,b,c没有公因子且满足a^2 + b^2 = c ^22.勾股数组定理:a = st,b = (s^2 - t^2) / 2, c = (s^2 + t^2 ) / 2;证明:因为 a^2 + b^2原创 2013-04-11 07:36:32 · 1300 阅读 · 0 评论 -
Matrix Power Series(poj3233快速幂+矩阵二分幂+分治)
题意:给定一个n*n的矩阵和一个整数k,计算 S = A +A^2 +A^3 + .....+ A^k思路:不能暴力,会超时的所以我们要想一个办法化简,对于原式可以提取公因式 S = A +A^2 +A^3 + .....+ A^k/2 + A^k/2 * (A +A^2 +A^3 + .....+ A^k/2)这样我们就可以只算A到A^k/2,同理这之间也可以用刚才的方法不停地二原创 2013-10-27 09:02:45 · 870 阅读 · 0 评论 -
C Looooops(poj2115线性同余方程)
题意:A + nC = B (mod 1 思路典型的线性同余方程不知道怎么解的看这里:线性方程求解 http://blog.youkuaiyun.com/leonharetd/article/details/13090883#include#include#include#includeusing namespace std;typedef long long int64;原创 2013-10-26 14:37:27 · 969 阅读 · 0 评论 -
X问题(hdu1573线性同余方程)
题意:求在小于等于N的正整数中有多少个X满足:X mod a[0] = b[0], X mod a[1] = b[1], X mod a[2] = b[2], …, X mod a[i] = b[i], … (0 思路:解线性同余方程组求出满足上面等式最小的x是多少,因为他们的通解为 x+ lcm(a0,a1,a2,a3...an),所以求出最小的解,计算M-x之间有多少个 lcm(a0,a1原创 2013-10-26 14:53:46 · 854 阅读 · 0 评论 -
Hello Kiki(hdu3579线性同与方程)
题意:X = Ai (mod Mi) 给你Ai和Mi 计算最小正整数x,最小正整数解不能是0,如果为0那么解就是n个Ai的最小公倍数思路:线性同余方程组线性同余方程组解法:http://blog.youkuaiyun.com/leonharetd/article/details/13090883#include#include#include#includeusing namespac原创 2013-10-26 15:13:43 · 769 阅读 · 0 评论 -
中国剩余定理
若m1,m2,m3,m4.....mr是两两觳觫的正整数,则同与方程x = a1 ( mod m1)x = a2 ( mod m2)x = a3 ( mod m3)..............................x = ar ( mod mr)有模M = m1*m2*m3*.....mr的位移解,即为中国剩余定理在《孙子算经》中有这样一个问题原创 2013-10-27 10:26:29 · 1452 阅读 · 2 评论 -
梅森素数
梅森素数是指形如2^p-1的正整数,其中指数p是素数,常记为Mp 。若Mp是素数,则称为梅森素数。p=2,3,5,7时,Mp都是素数,但M11=2047=23×89不是素数 梅森数可能是素数也可能是合数,因此如何对梅森数进行判断是一个很关键的问题根据费马定理 如果n是素数,有 a^(n-1) = 1 ( mod n) 1 一个数可能通过Miller测试,但他可能不是素数,庆幸的是,这样原创 2013-10-21 21:25:31 · 1779 阅读 · 0 评论 -
梅森素数(nefu120)
题意:给你一个p,判断Mp是否是梅森素数如果是输出也是,如果不是输出no思路:Miller测试判断素数,先算出2^p-1在判断a^(2^p-1-1) 模 2^p余数是否为1.这道题乘法平方会溢出,所以必须把乘法变成加法#include#include#include#include#include#includeusing namespace std;typedef原创 2013-10-21 21:31:06 · 882 阅读 · 0 评论 -
Biorhythms(poj1006中国剩余定理)
题意:三个高峰周期分别为23,28,33,给你一个d这一年过了几天,p,e,i表示前一次三个高峰距d过了多少天,求三个高峰在d之后的第几天出现思路:中国剩余定理 :http://blog.youkuaiyun.com/leonharetd/article/details/13167615根据题意列同与方程d = p mod 23d = e mod 28d = i mod 33解同余方程原创 2013-10-27 11:07:54 · 851 阅读 · 0 评论 -
Chinese remainder theorem again(hdu1788中国剩余定理)
题意:一个正整数N除以M1余(M1 - a),除以M2余(M2-a), 除以M3余(M3-a),总之, 除以MI余(MI-a),其中(a思路:化简式子N = M1-a mod M1N = M2-a mod M2N = m3-a mod M3写成 N + k1*M1 = M1 -a --> N+ k1*M1 +a = M1 也就是N + k1*M1 +a = 0 mod M1原创 2013-10-27 11:34:39 · 972 阅读 · 0 评论 -
线性同余方程
一元线性同余方程定义:a,b是整数,m是正整数,形如 a*x = b (mod m) 且x是未知整数的同余式称为一元线性同余定理:a,b,m 是整数且m > 0 (a,m) = d,如果d | b,则方程恰有d个模不同余的解,否则方程无解 如 a/d = b/d (mod m/d) 乘以d--> a = b (mod m/d) b一定要是d的倍数方程才有结由同余方程的定义可得 a*原创 2013-10-26 11:37:52 · 2348 阅读 · 0 评论 -
同余概述
数学上,两个整数除以同一个整数,若得相同余数,则二整数同余(英文:Modular arithmetic;德文:Kongruenz)。同余理论常被用于数论中。最先引用同余的概念与符号者为德国数学家高斯。同余同余理论是初等数论的重要组成部分,是研究整数问题的重要工具之一,利用同余来论证某些整除性的问题是很简便的.同余是数学竞赛的重要组成部分.两个整数a,b,若它们除以整原创 2013-10-21 21:42:18 · 1257 阅读 · 1 评论 -
Raising Modulo Numbers(poj1995快速模运算)
题意:(A1B1+A2B2+ ... +AHBH)mod M.思路:快速幂算出每一个,然后加在一起,这里快速幂最好不要用递归,容易爆,还是二进制思想吧#include#include#include#includeusing namespace std;typedef long long int64;int64 quick_mod(int64 a,int64 n,i原创 2013-10-27 09:14:23 · 873 阅读 · 0 评论 -
Uniform Generator (hdu1014数论随即数)
题意: 随机数 seed(x+1) = [seed(x) + STEP] % MOD如果 STEP = 3,MOD = 5 循环节 0,3,1,4,2,正好满足了随机数0~4随机循环,说明这个选择为 Good Choice如果 STEP = 15,MOD = 30 循环节 0, 15, 10, 5,没有满足随机数0~29循环,说明这个选择为Bad Choice现在给你 STEP原创 2013-05-12 21:01:38 · 902 阅读 · 0 评论 -
Eddy's research I(hdu1164分解因数)
题意:9412 = 2*2*13*18,11 = 11 现在给一个数输出他的几个素数相乘的形式 (n 思路:先打一个65535的素数表,让n一直除某个素数,知道不能整除,换下一个,一直到第n个素数#include#include#include#includeusing namespace std;int prime[70000];int pr[70000];int num[原创 2013-05-15 13:13:22 · 849 阅读 · 0 评论 -
nefu117素数定理
题意:给你一个n,计算1~10^n次方之间有多少个素数,输出该数的位数。思路:素数定理,小于一个正整数x的素数有多少个,在n越来越大,接近 n / log(n) 计算机用log表示以e为底的对数所以只要先算出 n / log(n) 在取log 就是位数n = 10^nlog10( n / log(n) ) = log10(10^n) - log10(log(10^n)) = n -原创 2013-10-17 20:38:05 · 964 阅读 · 0 评论 -
Prime Distance(poj2689变形的筛法素数)
题意:给你一个区间L,U计算这个区间里面的间距最大的连续素数和最小的连续素数1思路:L,U的范围太大了无法使用普通的筛法,将所有素数全部筛完,但是因为它是L,U的一个区间,长度不超过10^6,那可以筛出这个区间的所有素数,然后再求最大最小间距怎么求L,U区间的素数呢?我们可以先看1关键是怎么确定开始的L开始的2,3,5....的倍数,这时我们可以用 整数的强制转换 L / prim原创 2013-10-17 21:51:53 · 952 阅读 · 0 评论 -
数论———素数测试
检查一个正整数是否是素数称作素数测试。基本素数判别法:正整数n是素数,当且仅当它不能被任何一个小于根号n的素数整除埃拉托斯尼斯筛法:先把N个自然数按次序排列起来。1不是质数,也不是合数,要划去。第二个数2是质数留下来,而把2后面所有能被2整除的数都划去。2后面第一个没划去的数是3,把3留下,再把3后面所有能被3整的数都划去。3后面第一个没划去的数是5,把5留下,再把5后面所有能被5整除的数原创 2013-10-17 20:55:55 · 915 阅读 · 0 评论 -
埃拉托斯尼丝筛法
埃拉托斯尼丝筛法:先把N个自然数按次序排列起来。1不是质数,也不是合数,要划去。第二个数2是质数留下来,而把2后面所有能被2整除的数都划去。2后面第一个没划去的数是3,把3留下,再把3后面所有能被3整除的数都划去。3后面第一个没划去的数是5,把5留下,再把5后面所有能被5整除的数都划去。这样一直做下去,就会把不超过N的全部合数都筛掉,留下的就是不超过N的全部质数。long long原创 2013-10-17 21:26:59 · 1165 阅读 · 0 评论 -
Strange Way to Express Integers(poj2891线性同余方程组)
题意:n = ai( mod ri) 给你 n 个 ai 和 ri 求最小满足的n,如果没有解则输出-1思路:典型的解线性同余方程组x = a1 (mod r1)x = a2 (mod r2)n1*r1 + a1 = n2*r2 + a2n1*r1 - n2*r1 = a2 - a1;用扩展欧几里德算出方程的解xi,再得出x等于 xs = xi * r1 + a1原创 2013-10-26 13:17:44 · 886 阅读 · 0 评论 -
A/B(hdu1576 乘法逆元)
题意:要求(A/B)%9973,但由于A很大,我们只给出n(n=A%9973)(我们给定的A必能被B整除,且gcd(B,9973) = 1)。思路:求乘法逆元满足a*k≡1 (mod p)的k值就是a关于p的乘法逆元。当且仅当gcd(k,p) = 1,如果可逆则可定义除法 x/k = x * a mod p 为什么要有乘法逆元呢?当我们要求(a/b) m原创 2013-10-26 17:18:16 · 1353 阅读 · 0 评论 -
Mod Tree(hdu2815高次线性同余方程)
题意:求每个节点有K个儿子,计算最小深度D的节点数对P取模的结果是N,K^D = N( mod P )的最小D值 如果无解输出 Orz,I can’t find D!思路:baby__giant算法分两种情况第一种 : 当A 和C互质的时候m = sqrt(C);A^x = A^i*m+j = B (mod C)A^i*m*A^j = B ( mod C)两边除以A^i原创 2013-10-26 21:49:40 · 1023 阅读 · 0 评论 -
Reduced ID Numbers(poj2769同余定理)
题意:给你一组n个数,找到最小的正整数m,是的当前组内的所有树对m取模均不同余思路:对当前组枚举除数1.想要都不相同,枚举是从n开始枚举不是从1开始,鸽巢原理小于n个必有相同的2.memset初始化的时候,用多少初始化多少,memset(a,0,sizeof(int)*(n+1)),直接sizeof(a)会超时#include#include#include#includ原创 2013-10-21 21:48:30 · 867 阅读 · 0 评论
分享