ShineRoyal

No end on study.

UVA 10870 Recurrences 矩阵乘法

Consider recurrent functions of the following form:f(n) = a1f(n − 1) + a2f(n − 2) + a3f(n − 3) + … + adf(n − d), for n > d, where a1, a2, … , a...

2015-08-17 19:12:04

阅读数:542

评论数:0

POJ 1183 反正切函数的应用

原题: http://poj.org/problem?id=1183由arctan(1/a)=arctan(1/b)+arctan(1/c) 和公式(4)可以得到: 1/a=((1/b)+(1/c)) / (1-(1/b)*(1/c))=(b+c) / (b*c-1) 令b+c=x,则有...

2015-08-17 10:16:46

阅读数:468

评论数:0

HDU 1576 A/B 欧几里德扩展方程

原题: http://acm.hdu.edu.cn/showproblem.php?pid=1576对于我们要求的(A/B)%9973,我们可以先化简: (A/B)%9973=(A * B^-1 )%9973 = ((A%9973) * (B^-1 % 9973) )%9973 =(...

2015-08-15 11:21:28

阅读数:229

评论数:0

欧几里德扩展方程 详解

作用:欧几里德扩展方程是用来求解二元一次线性方程的。ax+by=c (a、b、c为已知数) 对于给定方程: ax+by=c,令g=gcd(a,b) 因为a是g的倍数,b也是g的倍数,所以令a=m*g , b=n*g,则: ax+by=g(m*x+n*y)=c 所得的结果c必然是g的倍...

2015-08-15 10:48:18

阅读数:290

评论数:0

POJ 1061 青蛙的约会 欧几里德扩展

原题: http://poj.org/problem?id=1061对于这个题,我们可以看成一个追击问题,假设其中一个人是不动的,那么另一个相对它的速度就是n-m,而最初的路径差是x-y,我们要求的就是在最快的时间让他们相遇。我们可以建立这样的线性方程:速度 * 次数 - 圈数 * 周长=距离 ...

2015-08-14 21:01:08

阅读数:283

评论数:0

费马小定理 素数判定 蒙哥马利算法

约定: x%y为x取模y,即x除以y所得的余数,当x x^y表示x的y次方。 乘方运算的优先级高于乘除和取模,加减的优先级最低。 见到x^y/z这样,就先算乘方,再算除法。 A/B,称为A除以B,也称为B除A。 若A%B=0,即称为A可以被B整除,也称B可以整除A。 A*B表示A乘以B或称A乘B,...

2015-08-14 18:25:58

阅读数:268

评论数:0

斐波那契序列 集锦 矩阵乘法

在网上看到的Fib数列的一些特性,感觉很有用。发现各种转载来源都没有指向原作者,终于让我找到原作者了。[定理1] 标准Fibonacci序列(即第0项为0,第1项为1的序列)当N大于1时,一定有f(N)和f(N-1)互质其实,结合“互质”的定义,和一个很经典的算法就可以轻

2015-08-14 16:32:44

阅读数:350

评论数:0

HDU 1005 Number Sequence 矩阵乘法 Fib数列

原题: http://acm.hdu.edu.cn/showproblem.php?pid=1005题目大意: 按规律求出第n项。 由矩阵乘法我们可以知道: 所以对于fib数列我们可以用矩阵来求,由于矩阵可以左乘右乘,所以我们可以用快速幂来优化。#include<iostream&g...

2015-08-14 15:59:05

阅读数:1377

评论数:0

素数筛选 模版

传统的素数求法对于一个数需要从1跑到根号n,时间复杂度比较高,而且只能用一次。素数筛选只需要预处理一次,后面的计算只需要一次就能求得解。 素筛原理是遍历1到根号n的所有素数(未被标记的数),把他们的整数倍都标记。#include<string.h> const int N = 100...

2015-08-13 19:55:55

阅读数:218

评论数:0

HDU 1019 Least Common Multiple

原题: http://acm.hdu.edu.cn/showproblem.php?pid=1019题目大意: 求一系列数的最小公倍数。只需要求每次的结果和下一个数的最小公倍数就可以了。#include <iostream> #include"stdio.h" ...

2015-08-13 18:32:44

阅读数:185

评论数:0

HDU 1005 Number Sequence 寻找周期

原题: http://acm.hdu.edu.cn/showproblem.php?pid=1005题目大意: 类似于一个fib数列,但是每项都由前两项分别*a和*b之后再对7取余。 不难想到,f数列的每一项都只能为0到7的值。 那么每两项有7*7=49种情况。 所以第50项的前两项肯定...

2015-08-13 16:04:24

阅读数:281

评论数:0

POJ 2262 Goldbach's Conjecture 素数筛选

原题: http://poj.org/problem?id=2262题目:Goldbach’s Conjecture Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 41068 Accepted: ...

2015-08-13 16:00:58

阅读数:238

评论数:0

POJ 1006 Biorhythms 最小公倍数

原题: http://poj.org/problem?id=1006 题目大意: 有四种情感,周期分别为23,28,33,他们第一次高峰期的时间分别为p,e,i,从第d天以后,第一次三种高峰期在同一天是什么时候。这个题和素数筛选有相同的思路,我们要求的日期减去各自第一次的日期对各个周期取余肯定为...

2015-08-13 15:55:31

阅读数:221

评论数:0

HDU 1108 最小公倍数

原题: http://acm.hdu.edu.cn/showproblem.php?pid=1108简单的欧几里得求最大公约数的方法,最小公倍数等于两数之积除以最大公约数。#include <iostream> #include"stdio.h" using na...

2015-08-13 15:48:32

阅读数:207

评论数:0

HDU 1097 A hard puzzle 求个位数

原题 http://acm.hdu.edu.cn/showproblem.php?pid=1097 题目大意: 求a的b次方的个位数的值。最简单的办法,暴力累乘,但是这样的时间复杂度是O(n),显然TLE。 比如10个2相乘,我们可以看作是两个 5个2相乘再相乘 ,这样我们只需要算到2的5次...

2015-07-26 11:50:49

阅读数:207

评论数:0

HDU 1222 Wolf and Rabbit 幸存的兔子

原题 http://acm.hdu.edu.cn/showproblem.php?pid=1222题目大意: 兔子一共有n个窝,狼每次走m步,如果一直不会找到兔子,输出YES。暴力解决就是开一个长度为n的数组arr[],每到一个点相应的数组非0,直到到了一个非0点,再遍历是否存在0点。 但是...

2015-07-26 11:08:44

阅读数:227

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭