ACM_数论知识积累
yuanchuanshun
这个作者很懒,什么都没留下…
展开
-
深入理解扩展欧几里德算法(不断更新中)
<br />一、【摘自某网易博客】http://chhaj5236.blog.163.com/blog/static/112881081200942542255916/<br /> <br />首先扩展欧几里德主要是用来与求解线性方程相关的问题,所以我们从一个线性方程开始分析。现在假设这个线性方程为a*x+b*y=m,如果这个线性方程有解,那么一定有gcd(a,b) | m,即a,b的最大公约数能够整除m(m%gcd(a,b)==0)。证明很简单,由于a%gcd(a,b)==b%gcd(a,b)==0,所以原创 2010-12-24 16:33:00 · 554 阅读 · 0 评论 -
浅谈ACM竞赛中的逆元
/*Name:浅谈ACM竞赛中的逆元Copyright: ecjtu_acm Author: yimaoDate: 24-12-10 14:42Description: ACM竞赛_数论_逆元*/一、百度百科里的定义密码学中的逆元,也就是我在OJ里做题时要用到的逆元。设m为正整数,a为正整数,如果存在a' 使得: a X a' = 1(mod m) 成立,则a叫模m的可逆元,a' 叫a模m的逆元。当a与m互素的情况下,即(a,m)=1,则a的模m的逆元总是存在,而且可以用欧几里得除法(欧几里原创 2010-12-24 14:46:00 · 4381 阅读 · 0 评论 -
素数的几个判断方法(小结)
0、如果是偶数(大于二的),就直接判断不是素数;1、下面的模板,名字叫什么我不知道,代码百度的,可以过题;bool Isprime(__int64 x){ for(int i=2;i*i if(x%i==0) return 0; return 1;}2、筛选法求出素数,打表出来就可以,最大到1000000应该可以吧,我做的题目都是这样。3、网上搜到个人的说是:/**拉宾-米勒素性测试的算法判断一个数p是否为素数(p首先得为大于等于2的正整数才有可能为素数),首先判奇偶,若为偶数只有原创 2011-01-26 20:44:00 · 869 阅读 · 0 评论 -
计算欧拉函数的原理
<br />求欧拉函数的一般方法:<br />1.我们知道一个素数p的欧拉函数f(p)=p-1;那么p的k次幂,即n=p^k,则容易证明:f(n)=p^k-p^(k-1);<br /> <br />证明:已知少于p^k的数有p^k-1,其中与p^k不互质的数有p^(k-1)-1个,分别为(p*1,p*2,p*3,····,p*(p^(k-1)-1))。所以f(n)=p^(k)-1-(p^(k-1)-1)=p^(k)-p^(k-1)。<br /> <br />2.假设p,q为两个互质的数,则:f(p*q)=f原创 2011-01-28 22:06:00 · 2875 阅读 · 2 评论 -
稳定婚姻问题算法【转载】
<br />转自:http://teruterubouzu-laputa.spaces.live.com/<br /> <br /> 话说在1962年,两个数学家David Gale 和Lloyd Shapley提出了下面的问题: <br />给定若干个男生和同样多的女生,他们每个人都对所有的异性有一个心理的偏好次序。是否存在一种男女配对组合构成一种稳定的组合关系?这里稳定组合的意思是说,不存在两个非伴侣的异性对彼此的评价比对各自伴侣的评价还要高。(可以理解,这样的异性太容易红杏出墙了,所以是某种不原创 2011-02-02 11:15:00 · 2651 阅读 · 3 评论 -
hdu1409判断一个串是否是数字
<br />【题目链接】http://acm.hdu.edu.cn/showproblem.php?pid=1409<br /> <br />【题目大意】<br />给定一个串,判断其是否是一个数,会有小数点出现,E出现,或者空格出现等;<br /> <br />【分析】<br />数的特征:<br />数据由小数和整数部分组成 <br />小数部分可以是.11 也可以是 . 就是小数点后没有数据。 <br />整数也是一样的,可以是2 也可以是 空 <br /> 若要用指数表示,则E的前面必须有合法原创 2011-02-14 09:56:00 · 671 阅读 · 0 评论