http://acm.hdu.edu.cn/showproblem.php?pid=1074 递归求输出。dp[i]是一个结构体, Doing HomeworkTime Limit: 2000/1000 MS (Java/Others)Memory Limit: 6...
分类:
其他好文 时间:
2014-08-07 18:21:20
阅读次数:
230
组合模式是一种专为创建Web上的动态用户界面而量身定制的模式,使用这种模式,可以用一条命令在对各对象上激发复杂的或递归的行为。在组合对象的层次体系中有俩种类型对象:叶对象和组合对象。这是一个递归定义,但这正是组合模式如此有用的原因所在。一个组合对象由一些别的组合对象和叶对象组成,其中只有叶对象不再包...
分类:
其他好文 时间:
2014-08-07 18:14:10
阅读次数:
227
说说:这道题非常之坑!开始还以为要递归判断的,其实根本不用,只要判断第一层的S即可,其中内嵌的S肯定是正确的。居然还有这样的题目,真的很无语╮(╯_╰)╭...
分类:
其他好文 时间:
2014-08-07 15:41:30
阅读次数:
333
题目链接:uva 1559 - Nim
题目大意:有n个人,奇数的为一队,偶数的为一对,两队分别从一堆石子个数为S的石子堆中取石子,取到最后一个石子一方则视为失败。给出各个队员每次可取石子的上限值,然后按照顺序操作。
解题思路:dp[i][s]表示第i个选手操作时剩s个石子时为必胜还是必败。因为是取到最后一个石子的为输,所以最后递归结束的条件和不同的略有不同。
还尝试过可以将石子数减...
分类:
其他好文 时间:
2014-08-07 13:15:10
阅读次数:
179
排列组合是高中是学到的 知识,理论上很清楚,但如何使用代码实现,却一直没有尝试过,近段时间由于项目需要,写一个组合的算法,想不到却花费了不少时间。
需求很简单,就是典型的组合应用。
例如输入:C0,C1,C2,C3,C4,输出C0,C1,C2,C3,C4的所有组合。
由于输入数据的个数不确定,自然不能使用一般的循环,只能使用递归加循环。
经过不断的实验的和测试,发现有两...
分类:
其他好文 时间:
2014-08-07 13:09:10
阅读次数:
265
function getdirallfiles($path){ $result=array(); $temp=array(); $dir=scandir($path); if($dir===false) { }else { fo...
分类:
Web程序 时间:
2014-08-07 12:54:19
阅读次数:
232
线段树是一个碉炸的数据结构,有多碉炸呢?可以看一下zkw大神的《统计的力量》,里面是讲zkw树的,不用看懂,就了解一下线段树有多碉炸就行。看我把它撸过来:然后我们来学一下线段树。线段树一般是怒存在数组里的,一般a[1]是根节点,然后a[i]的左儿子是a[i>1]。根据这个规律,我们可以用递归来用线段...
分类:
其他好文 时间:
2014-08-07 00:45:07
阅读次数:
205
Given n, generate all structurally unique BST's (binary search trees) that store values 1...n.For example, Given n = 3, your program should return all...
分类:
其他好文 时间:
2014-08-07 00:16:36
阅读次数:
276
存储函数
内存中的Fibonacci函数,避免重复递归,来提高代码执行效率
模板
编译器
Swift编译器,使其可以编译出更快的机器代码...
分类:
其他好文 时间:
2014-08-06 23:14:32
阅读次数:
264
题目:输入n个整数,找出其中最小的k个数。
《剑指offer》给出了两种实现算法:
算法1:采用Partition加递归法,该算法可以说是快速排序和二分查找的有机结合。算法的时间复杂度为O(n),缺点在于在修改Partition的过程中会修改原数组的值。
算法2:采用top-k算法。如果要找最小的K个数,我们才用一个含有K个值的大顶堆;如果要找最大的K个数,我们采用小顶堆。该算法的时间复杂度为O(nlogK),是一种比较好的算法,启发于堆排序。...
分类:
其他好文 时间:
2014-08-06 23:04:12
阅读次数:
333