数论
画船听雨
和梦想谈一次恋爱,也要疯狂,也要坚持
展开
-
POJ 2115 C Looooops(扩展欧几里德)
题意简述:给你四个数字a,b,c,k.其实就是一个for循环for(i = a; i != b ; i = (I+c)%2^k);求循环经过几次结束,输出次数;如果循环不结束,则输出"FOREVER".一开始想到的是暴搜....但是k 扩展GCD是原理:ax+by = c;令d = gcd(a,b),原方程有整数解当且仅当d|c,bx+(a%b)y = 1 ax+b(x-[a/b]*y)原创 2013-10-22 19:46:06 · 1065 阅读 · 0 评论 -
POJ 1811 Prime Test(费马小定理+二次探测定理)
素数的测试:费尔马小定理:如果p是一个素数,且0 利用费尔马小定理,对于给定的整数n,可以设计素数判定算法,通过 计算d=a^(n-1)%n来判断n的素性,当d!=1时,n肯定不是素数,当d=1时,n 很可能是素数.二次探测定理:如果n是一个素数,且0 利用二次探测定理,可以再利用费尔马小定理计算a^(n-1)%n的过程 中增加对整数原创 2014-11-21 21:27:11 · 2900 阅读 · 0 评论 -
HDU 2841 Visible Trees(数论)
题目大意:给你一个m*n的方格,方格从(1,1)开始。每个点上有一棵树,然后让你从(0,0)点向下看,问你能看见几颗树。解题思路:如果你的视线被后面的树和挡住的话以后在这条线上的树你是都看不见的啊。挡住的话就是这个小的方格内对角线的连线过顶点,如图:建设A为(0,0)如果B能遮挡住C,那么B与C组成的矩形中nx, mx是不互质的。所以x从1开始枚举n如果m中某一项与x互质那么就原创 2014-11-20 19:40:50 · 958 阅读 · 0 评论 -
HDU 4059 The Boss on Mars(数论)
题目大意:给你一个n(10^8)以内,让你求出1-n中与n互质的数x^4的和。解题思路:先把n进行分解质因数,然后容斥求出所有与n不互质的数x^4的和,然后做减法用总的减去不互质的就是互质的。注意:1^4+2^4+……+n^4 = n(n+1)(2n+1)(3n^2+3n-1)/30.The Boss on MarsTime Limit: 2000/1000 MS (Jav原创 2014-11-21 09:58:08 · 941 阅读 · 0 评论 -
HDU 4565 So Easy!(公式化简+矩阵)
转载:http://www.klogk.com/posts/hdu4565/这里写的很好,看看就知道了啊。题意非常简单,a,b,n都是正整数,求Sn=⌈(a+b√)n⌉%m,(a−1)2ba2这个题目也是2008年Google Codejam Round 1A的C题。做法其实非常简单,记(a+b√)n为An,配项Cn=An+Bn=(a+b√)n+(a原创 2014-10-13 11:27:05 · 1183 阅读 · 0 评论 -
HDU 4565 So Easy!(矩阵快速幂)
这里写的很详细了啊:http://blog.csdn.net/acmmmm/article/details/9722515?utm_source=tuicool记录一下,回头原创 2014-10-07 10:00:29 · 907 阅读 · 0 评论 -
HDU 3117 Fibonacci Numbers(Fibonacci矩阵加速递推+公式)
题目意思很简单:求第n个Fibonacci数,如果超过八位输出前四位和后四位中间输出...,否则直接输出Fibonacci数是多少。后四位很好求,直接矩阵加速递推对10000取余的结果就是。前四位搜了一下:http://blog.csdn.net/xieqinghuang/article/details/7789908Fibonacci的通项公式,对,fibonacci数是有通原创 2014-09-29 10:42:39 · 1397 阅读 · 0 评论 -
POJ 1845 Sumdiv(快速幂取模+快速分解因式)
小優的博客写的原创 2014-06-01 17:13:39 · 960 阅读 · 0 评论 -
POJ 2891 Strange Way to Express Integers(扩展GCD)
题意就是给你k组数,每组是m,a.有一个数字x对每组的m取余得到的余数为a。让你求出满足条件的最小的x。分析假设只有一组数据那最小的就是余数a。如果有两组的话:x%m1 = a1,x%m2 = a2. m1*y+a1 = m2*z+a2。化简得到:m1*y-m2*z=a2-a1.通过扩展GCD可以得到一组解y,z。所以可以得到一个x = y*m1+a1。满足条件。如果x=(y*m1+a1)+原创 2014-03-04 16:00:02 · 719 阅读 · 0 评论 -
学习笔记----扩展欧几里德
原文连接:http://www.cnblogs.com/ka200812/archive/2011/09/02/2164404.html我个人觉得第一次看到这个程序你会有以上两个不明白的地方(见注释),下面我分别解释不明处1:由扩展欧几里得定理:ax+by==gcd(a,b)---式1,而此时b==0,也就是说gcd(a,0)==a。原式变为ax+by==a --> x==1,y=转载 2014-03-03 19:54:02 · 780 阅读 · 0 评论 -
POJ 3292 Semi-prime H-numbers(打表)
题意大体是:规定如果一个数是由1,5,9,13,17,21、、、这么一个等差数列中的任意两项组成的乘积组成的数称之为H-numbers。然后给你一个数输出比这个数字小的H-numbers有多少个、、、(貌似不能是乘1)。类似的一个打表,数据范围也不广,可以水过啊、、、Semi-prime H-numbersTime Limit: 1000MS Memor原创 2013-10-18 19:58:41 · 1045 阅读 · 0 评论 -
HDU 4465 Candy(组合+log优化)
题目大意:给你两个罐子,里面有糖果每次只能从一个罐子里面取一个糖果,打开A的概率为p,问当一个罐子取完之后,另一个罐子剩糖果的期望是多少。我们可以知道最少是取第n+1次的时候才会有一个罐子为空,我们可以推出组合公式:(n-k)*C(n+k, k)*((1-p)^(n+1)*p^k+(1-p)^k*p^(n+k));0 求一个和就是所有的组合情况了,但是组合数很大我们可以用log来进行优原创 2014-11-29 10:35:38 · 976 阅读 · 0 评论