数论
北狗最光阴1
这个作者很懒,什么都没留下…
展开
-
poj 3370 Halloween treats
这题用抽屉原理写起来真的很简单,从中也明白数学的重要性。 几个抽屉原理如下: 原理1 把多于n个的物体放到n个抽屉里,则至少有一个抽屉里的东西不少于两件; 原理2 把多于mn(m乘以n)个的物体放到n个抽屉里,则至少有一个抽屉里有不少于m+1的物体。 原理3 把无穷多件物体放入n个抽屉,则至少有一个抽屉里 有无穷个物体。. 原理 4 把(mn-1)个物体放入n个抽屉中,其原创 2015-01-08 19:52:25 · 280 阅读 · 0 评论 -
HDU 1098 Ignatius's puzzle
这题刚开始看的时候,的确被吓了一跳,13次方,这也太大了,而且还是任意的x,有点麻烦,但是仔细分析之后,发现有点窍门: 65|f(x),不妨设5*x^13+13*x^5+k*a*x=m*65,于是可以得到: x*(5*x^12+13*x^4+k*a)=m*65,继续得到: x*(5*x^12+13*x^4+k*a)/65=m,因为是对于任意的x均成立,所以(5*x^12+13*x^4+k*a原创 2015-02-04 16:35:57 · 441 阅读 · 0 评论 -
HDU 1097 A hard puzzle
这道题其实挺简单的,因为只看最后一位,所以就讨论最后一位的情况就可以了。而最后一位显然是有周期性的。 #include #include #include #include #include using namespace std; int main() { int a,b,mode[12]; while(scanf("%d%d",&a,&b)!=EOF) {原创 2015-02-04 17:48:34 · 496 阅读 · 0 评论 -
POJ 1061 青蛙的约会
本题思路如下: 由题意可以列出如下式子:(x+m*t)%l=(y+n*t)%l,把它转换一下就可以得出:x+m*t-(y+n*t)=c*l,(x-y)+(m-n)*t=c*l,(n-m)*t+c*l=(x-y),显然这个式子就可以用扩展欧几里得算法算法来解决了:ax+by=c。 扩展欧几里得算法如下: 基本算法:对于不完全为 0 的非负整数 a,b,gcd(a,b)表示 a,b 的最原创 2015-01-03 16:37:51 · 269 阅读 · 0 评论