public static long gcd(long m, long n) {
}...
分类:
其他好文 时间:
2014-06-24 23:58:40
阅读次数:
406
Disk ScheduleTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 240 Accepted Submission(s): 12...
分类:
其他好文 时间:
2014-06-22 13:28:45
阅读次数:
237
求两个正整数的最大公约数是一个很古老且很基本的问题,欧几里得在其著作《几何原本》中给出了高效的解法——辗转相除法,也叫做欧几里得算法。下面我们来看下求最大公约数的一些方法。
方法一
我们先来看欧几里得的辗转相除法。原理很简单,假设用f(x,y)表示x和y的最大公约数,我们令x>y,则有x=ky+b,如果一个数能够同时整除x和y,则必能同时整除b和y,而能够同时整除b和y的数也必能同时整除x和y,即x和y的公约数与b和y的公约数相同,因此二者的最大公约数也相同,则有f(x,y)=f(y,x%y),一...
分类:
其他好文 时间:
2014-06-20 11:10:03
阅读次数:
191
UVA 10090 - Marbles
题目链接
题意:有两种盒子,一种代价c1,能装n1个珠子,一种代价c2,能装n2个珠子,问如何正好装n个珠子,并且使得代价最少。
思路:利用扩展欧几里得算法求出n1?x+n2?y=n的一个解(x′,y′)
就可以知道x,y的通解分别为
x=x′?n/gcd(n1,n2)+n2/gcd(n1,n2)?t
y=y′?n/gac(n1,n2)?...
分类:
其他好文 时间:
2014-06-18 00:44:40
阅读次数:
182
又是一条数论题目,最近学习数论,看完书本感觉并不能掌握数论的,还是需要多多练习,多运用才能掌握这个思想武器的。
本题可以简单点过,不需要太高级的数论内容;
但是也可以运用好数论的内容,可以应用上三个数论的内容:
1 扩展欧几里得
2 快速求模
3 乘法逆元(inverse of modulo)
2 快速求模,也可以生成一个数组,因为这里最大是40000,故此数值不大,可以使用数组,然后查表,速度很快。
但是这里使用快速的时间效率也几乎接近常数,没必要保存一个数组。如下面的powMod函数。
3 乘法...
分类:
其他好文 时间:
2014-06-11 00:55:53
阅读次数:
351
双调欧几里得旅行商问题是一个经典动态规划问题。《算法导论(第二版)》思考题15-1和北京大学OJ2677都出现了这个题目。
旅行商问题描述:平面上n个点,确定一条连接各点的最短闭合旅程。这个解的一般形式为NP的(在多项式时间内可以求出)
J.L. Bentley 建议通过只考虑双调旅程(bitonictour)来简化问题,这种旅程即为从最左点开始,严格地从左到右直至最右点,然后...
分类:
其他好文 时间:
2014-06-05 04:28:09
阅读次数:
220
http://poj.org/problem?id=2728
大致题意:有n个村庄,输入每个村庄的位置和高度,这n个村庄要连在一起,村与村之间的长度为他们之间的欧几里得距离,花费是两村之间的高度差,要求连在一起的花费和与距离和之比的最小值。
思路:明显的最优比率生成树。二分答案λ,每条边重新赋权c[i] - λd[i] ,因为要求比值最小,那么对于所有的生成树,它们的f[λ]必须>...
分类:
其他好文 时间:
2014-06-05 04:18:42
阅读次数:
162
KNN最邻近规则,主要应用领域是对未知事物的识别,即判断未知事物属于哪一类,判断思想是,基于欧几里得定理,判断未知事物的特征和哪一类已知事物的的特征最接近;K最近邻(k-Nearest
Neighbor,KNN)分类算法,是一个理论上比较成熟的方法,也是最简单的机器学习算法之一。该方法的思路是:如果...
分类:
其他好文 时间:
2014-06-04 16:22:30
阅读次数:
399
由于都是中文题,题意就不写了。
A、Energy Conversion
这题先判断一下能量是否能增加,然后再根据增加这个公式去求出一个等比公式,就可以直接求出需要增加几次了
B、Disk Schedule
首先轨道转移和读取数据时间肯定是要花进去的,剩下就是看转的那部分时间,从0,0开始,回到0,0,中间经过n个点,转化为经典的双调欧几里得DP,就可以求出答案了
C、...
分类:
其他好文 时间:
2014-05-25 18:37:34
阅读次数:
311
拓展欧几里得的应用。 1 //Accepted 228 KB 0 ms 2 #include 3
#include 4 #include 5 __int64 a,b,x,y; 6 __int64 extend_euclid(__int64 a,__int64
b,__int64 &...
分类:
其他好文 时间:
2014-05-25 16:14:14
阅读次数:
206