漂浮法,顾名思义,就是一块块的往上飘。
以逆序来进行放置,即n to 1。逆序的好处在于放置一个矩形后,俯视看到的就是最终俯视该矩形应该看到的。因为挡着它的矩形在之前已经放置好了,所以可直接统计,为递归创造了条件。每放一个矩形,可以想象成将其扔入一密度很大的海水底部,海分成了n层,然后矩形开始向上浮。在上浮过程中若碰撞到其他的矩形则断裂成几个小矩形,继续上浮,直到浮出水面。于是想到用个递归来模拟...
MATLAB大法好
Time Limit: 8000ms
Memory Limit: 65536KB
64-bit integer IO format: %lld Java class name: Main
MATLAB大法好,天灭C++,退C保平安,人在做,天在看,大段循环留祸患,内存泄露电脑灭,跳出递归保平安。诚心诚念矩阵好,批量操作平安保,两行代码...
分类:
其他好文 时间:
2014-07-22 23:03:14
阅读次数:
374
归并排序
在提高排序算法性能的方法中,有一类叫做分而治之。我们先研究其中第一种叫做归并排序。归并排序使用递归的方法,不停地把列表一分为二。如果列表是空或只有一个元素,那么就是排好序的(递归基点),如果列表有超过1个的元素,那么切分列表并对两个子列表递归使用归并排序。一旦这两个列表排序完成,称为“归并”的基本操作开始执行。归并是把两个有序列表合并成一个新的有序列表的过程。图10是我们熟悉的列表...
分类:
编程语言 时间:
2014-05-01 22:18:22
阅读次数:
391
/*#include #include #define N 100#define LIM
-100000000float det(float a[N][N],int n){ if(n==1) return a[0][0]; if(n==2)
return a[...
分类:
其他好文 时间:
2014-05-01 20:26:45
阅读次数:
322
这道题我一开始想到用递归方法,可以把规模大的问题变成规模小的问题,但是觉得递归的时间复杂度很高,因为它会把相同的问题进行重复计算,然后我想是不是有什么down-up的方法,先把所有的子问题的结果保存起来,但是发现问题的最优解并不能由子问题的最优解推导出来。最后就想到买股票的时候,我们在一个局部极小的...
分类:
其他好文 时间:
2014-05-01 19:24:02
阅读次数:
250
一切计算机问题,解决方法可以归结为两类:分治和封装。分治是减层,封装是加层。动态规划问题同样可以用这种思路,分治。它可以划分为多个子问题解决,那这样是不是用简单的递归就完成了?也许是的,但是这样会涉及太多的不便的操作。因为子问题有重叠!针对这种子问题有重叠的情况的解决,就是提高效率的关键。所以动态规...
分类:
其他好文 时间:
2014-05-01 10:03:00
阅读次数:
449
首先想到的是,将这个数进行素因子分解,得到所有的因子,然后取最大的。
首先写一个判断一个数是否是素数的方法: #judge a number whether a prime def
judgePrime(self,number,pme): if number < 2: ...
分类:
编程语言 时间:
2014-05-01 09:05:26
阅读次数:
3333
题意:求1、1/x+1/y=1/z 给定z 求x,y的个数zsd:1:
要知道这个素数的因子的范围 范围为2——sqrt(n);2:带入方程得:x = n * n / k + n
;现在就变成了求x的值。又因为n一定大于k,所以转换成求n * n的分解数;因为n = p1 ^ e1 * p2 ^ ....
分类:
其他好文 时间:
2014-05-01 03:31:17
阅读次数:
256
λ演算(Lambda-calculus)是一套用于研究函数定义、应用和递归的形式系统。它由阿兰佐·丘奇(Alonzo
Church)和史蒂芬·科尔·克林(Stephen Cole
Kleene)在20世纪三十年代引入。丘奇运用λ演算在1936年给出“判定性问题”(Entscheidungs prob...
分类:
其他好文 时间:
2014-05-01 03:07:43
阅读次数:
343