UVA 10539 - Almost Prime Numbers
题目链接
题意:给定一个区间,求这个区间中的Almost prime number,Almost prime number的定义为:只能整除一个素数。
思路:既然是只能整除一个素数,那么这些数肯定为素数的x次方(x > 1),那么只要先打出素数表,然后在素数表上暴力找一遍就可以了,因为素数表只要找到sqrt(Max...
分类:
其他好文 时间:
2014-06-25 20:10:16
阅读次数:
181
chuanbindeng 的 素数推断算法关于素数的算法是信息学竞赛和程序设计竞赛中常考的数论知识,在这里我跟大家讲一下寻找一定范围内素数的几个算法。看了以后相信对大家一定有帮助。 正如大家都知道的那样,一个数 n 假设是合数,那么它的全部的因子不超过sqrt(n)--n的开方,那么我们能够用这个性...
分类:
其他好文 时间:
2014-06-24 11:13:13
阅读次数:
287
1、本原勾股数:概念:一个三元组(a,b,c),其中a,b,c没有公因数而且满足:a^2+b^2=c^2首先,这种本原勾股数的个数是无限的,而且构造的条件满足:a=s*t,b=(s^2-t^2)/2,c=(s^2+t^2)/2其中s>t>=1是任意没有公因数的奇数!由以上概念就可以导出任意一个本原勾...
分类:
其他好文 时间:
2014-06-24 11:11:12
阅读次数:
195
题目大意:
T组测试数据,求(A1B1+A2B2+ ... +AHBH)mod M.
解题思路:
对于普通暴力算法一定是
A1*A1*A1.....*A1 乘以 B1次,
A2*A2...........*A2 乘以 B2次,
......................................
然后全部相加起来,这样效率很低,肯定是超时了
那么有什么办法解决这一问题,可以用快速幂,
如果 A1^2有了,那么 A1^4就可以得到,A1^8也可以得到,...... ,立刻由n降到了lgn
可以...
分类:
其他好文 时间:
2014-06-22 16:17:10
阅读次数:
178
POJ 1006 Biorhythms (数论-中国剩余定理)
题目大意:
人自出生起就有体力,情感和智力三个生理周期,分别为23,28和33天。一个周期内有一天为峰值,在这一天,人在对应的方面(体力,情感或智力)表现最好。通常这三个周期的峰值不会是同一天。现在给出三个日期,分别对应于体力,情感,智力出现峰值的日期。然后再给出一个起始日期,要求从这一天开始,算出最少再过多少天后三个峰值同时出现。
解题思路:
首先化简一下问题:欲求从某天开始,算出再过多少天后三个峰值同时出现,设要求的这个值为ans
...
分类:
其他好文 时间:
2014-06-18 12:25:14
阅读次数:
157
概述
首先了解一下相关概念:RSA算法:1977年由Ron Rivest、Adi Shamirh和LenAdleman发明的,RSA就是取自他们三个人的名字。算法基于一个数论:将两个大素数相乘非常容易,但要对这个乘积的结果进行 因式分解却非常困难,因此可以把乘积公开作为公钥,该算法能够抵抗目前已知的所有密码攻击。RSA算法是一种非对称算法,算法需要一对密钥,使用其中一个 加密,需要使用另外一个才能解密。我们在进行RSA加密通讯时,就把公钥放在客户端,私钥留在服务器。
RSA非对称加密算法,可...
分类:
其他好文 时间:
2014-06-18 07:20:35
阅读次数:
406
UVA 10090 - Marbles
题目链接
题意:有两种盒子,一种代价c1,能装n1个珠子,一种代价c2,能装n2个珠子,问如何正好装n个珠子,并且使得代价最少。
思路:利用扩展欧几里得算法求出n1?x+n2?y=n的一个解(x′,y′)
就可以知道x,y的通解分别为
x=x′?n/gcd(n1,n2)+n2/gcd(n1,n2)?t
y=y′?n/gac(n1,n2)?...
分类:
其他好文 时间:
2014-06-18 00:44:40
阅读次数:
182
http://poj.org/problem?id=2478
求欧拉函数的模板。
初涉欧拉函数,先学一学它基本的性质。
1.欧拉函数是求小于n且和n互质(包括1)的正整数的个数。记为φ(n)。
2.欧拉定理:若a与n互质,那么有a^φ(n) ≡ 1(mod n),经常用于求幂的模。
3.若p是一个质数,那么φ(p) = p-1,注意φ(1) = 1。
4.欧拉函数是积性函数:
...
分类:
其他好文 时间:
2014-06-16 19:44:16
阅读次数:
204
UVA 294 - Divisors
题目链接
题意:求一个区间内,因子最多的数字。
思路:由于区间保证最多1W个数字,因子可以遍历区间,然后利用事先筛出的素数求出质因子,之后因子个数为所有(质因子的个数+1)的积
代码:
#include
#include
#include
using namespace std;
const int N = 35005;
in...
分类:
其他好文 时间:
2014-06-15 10:17:36
阅读次数:
158