- 博客(13)
- 资源 (5)
- 收藏
- 关注
原创 UVA10375 Choose and divide 组合数
题意很简单,求两个组合数相除,数字有点大,想要直接求是不可能的,只能想办法化简或者其它办法,基础可能打的不是很结实,一开始想不出,有点想要把除法变成乘法,然后约分,这样不太现实,万一p,q很大,r,s很小还是有可能超的,感觉这道题目比较好的,思路有点活,最后想出来还是觉得题目比较奇妙的,题目给的 m! C(m,n) = -------------
2013-12-26 23:31:45 851
原创 POJ1845 Sumdiv 费马小定理+欧拉函数+素因子分解
题目有点难,过题率只有百分之二十,今天做了一个下午,做不出停了一下,在做别的题目以后,回来速度A了,原来费马小定理那里写错了,9900写成了9901,有点粗心, 题目意思是求A,B,,求出A^B的所有约数之和S,然后输出S%9901; 开始分析: 对A进行素因子分解,pi为素数序列,A=p1^m1*p2^m2……pn^mn,那么 A^B=p1^(m1*B)*p2^(m2*B)……pn^(mn
2013-12-25 23:56:48 1167
原创 UVA557 Burger 数论 递推组合
在HUST做一个数论专场,看到这道题目过的人代码很短,就来水一下,一开始被鸟语坑了,题意是一共N个人(N肯定为偶数),Ben 和 Bill 排在最后,有N/2个汉堡和 N/2个奶酪,轮到每个人时扔硬币,扔到一面对应汉堡另一面对应奶酪,其中汉堡或者奶酪分所有人得到食物前 已经被拿完了,就不再需要扔硬币了,问Ben 和 Bill 拿到相同食物的概率; 因为Ben 和 Bill 排在最后
2013-12-25 23:28:53 1043
原创 UVA10791 Minimum Sum LCM 数论素因子
题目意思是给你一个数N,并且限定N是两个数 a,b,的最小公倍数,求使得 a+b 最小,并求出 a+b 分析:当N为素数时,那么 a+b 最小肯定就是 N+1了,因为素数除了1和本身外 无其它因子了 还有就是题目给的N的范围是 N 接下来就是一般情况下的了,设pi为素数序列,那么任何一个数 N都可以写成 N=(p1^m1)*(p2^m2)*(p3^m3)……,那么本题最小和其实就是p1+p
2013-12-25 20:47:08 940
原创 POJ2992 Divisors 因子和因子个数的应用
由于k与n很大,求组合数 肯定不可能,所以要先求约数有多少个,直接进行素因子分解,因为组合数其实 是有公式 的 可以写成阶乘的形式,因此先对阶乘进行素因子分解 1.看看题目的数据范围,大概筛选500以内的素数就可以了 2.然后对每隔阶乘进行素因子分解 3.求出组合输的素因子分解而后便可得到约数的个数; #include #include #include #include #inc
2013-12-23 21:52:29 873
原创 poj3358 Period of an Infinite Binary Expansion 数论有难度
这道题目感觉好难,根本就是无从下手的感觉,尝试了以前的所有方法,都没有思路,毫无进展,参考了一下别人的思路,感觉学到了新的知识 接下来开始分析 观察1/10这组数据,按照二进制转化法可以得到: 1/10 2/10 4/10 8/10 16/10 32/10.…… 对于每一个分子进行模10处理 可以相应的得到: 1/10 2/10 4/10 8/10 6/10 2/
2013-12-18 22:18:49 952
原创 POJ3696 The Luckiest number 非常好的数论题目
10^x-1是长度为x的由9组成的,所以 8/9*(10^x-1)= L*P,就能改为由8组成的, 化简 (10^x-1)=9*L*P/8; 令 m=9*L/gcd(8,L),使得9*L*P/8=m*P1,继续化简 (10^x-1)=m*P1, 接下来转化为同余方程 10^x ≡1 (mod m), 这个式子刚好符合欧拉函数一个 性质的式子 , a^φ(n) ≡ 1 mod n ,所以
2013-12-16 20:46:44 1350
原创 poj3090 Visible Lattice Points 欧拉函数的应用
从点(0,0)到点(x,y)画线段不经过其它点,意思就是x,y互素,由此把问题转化为求1到n内互素的数的对数,当然不要漏了(1,1)(1,0)(0,1)这三个点,接下来就是求1到n的欧拉函数值来解决这个问题,因为n的范围不是很大,所以可以直接用欧拉函数的递推方法进行求解,再打表预处理前n项即可 #include #include #include #include #include #i
2013-12-16 16:16:19 853
原创 POJ3641 Pseudoprime numbers 素数测试的应用
算是一道简单题目,看懂题目的疑似就可以了,题目先介绍了费马定理 a^p=a(mod p),接下来又介绍了关于以 a 为基的伪素数的定义,意思就是 让你判断 a^p %p == a?这个是否成立,通过费马定理可以轻易知道,如果p是一个素数的话 那么肯定是no,所以 对于剩下的部分直接 用快速幂来判断就可以了,本以为会超时的,后来过了,题目的复杂度卡的比较好 #include #inclu
2013-12-10 15:38:59 877
原创 HDU2837 Calculation 指数循环节 欧拉函数+快速幂
快期末了要复习,但是做数论需要时间来累积,所以保持每天做做题目 依旧是这个公式的应用,关于 A^x = A^(x % Phi(C) + Phi(C)) (mod C) 的若干证明】【指数循环节】 http://hi.baidu.com/aekdycoin/item/e493adc9a7c0870bad092fd9 对于求指数循环节基本都会用到这个公式,或者求 一个 A^B (B非常非
2013-12-10 13:22:33 1486
原创 Uva10090 Marbles 扩展欧几里德的应用
好几天没有做题目了,因为心情不好导致刷题没动力,现在感觉还可以,继续数论的路,为了回顾一下扩展欧几里德所以做了一下这个题目, 根据题目意思 很容易找到方程 n1*x0+n2*y0=n,求解,我们都知道扩展欧几里德求出的x0,y0事实上是有通解的, x0*n1+y0*n2=gcd(n1,n2)的通解, x = x0 + n2/Gcd(n1, n2) * t y = y0 - n1/
2013-12-08 19:18:25 996
原创 励志篇 弱校的ACM奋斗历史
转自 http://acmicpc.info/archives/369 题解:还记得2年前的一个晚上,我和一个女孩一起写完了这篇文章。写完后,她哭了,我笑了。然后,她走了,我哭了。2年后,我又找到她,这次,我没有让她走掉,她成了我的新娘。 不知道什么时候,开始知道ACM;也不知道什么时候,开始喜欢上ACM。但是,我知道,我喜欢上了,而且不会后悔。我是大一的时候进的学校AC
2013-12-08 17:56:51 766
转载 DP题集
刷完搜索后刷这个! poj 2411 poj 1038 sgu 131 sgu 132 sgu 223 sgu 225 zoj 1346 poj 3254 poj 1185 poj 3311 hdu 3001 poj 2288 zoj 4257 hdu 3681 poj 2430 poj 2436 poj 2541 poj 2836 poj 1699 poj 2288 poj 2688 poj
2013-12-02 20:43:36 1107
输出素数C++
2014-11-10
MyInteger类
2014-11-10
TicTacToe游戏
2014-11-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人