迭代法(Iteration)也称“辗转法”,是一种不断用变量的旧值递推出新值的解决问题的方法。...
分类:
其他好文 时间:
2014-05-12 14:56:47
阅读次数:
297
题目链接:10253 - Series-Parallel Networks
白书的例题。
这题也是需要把问题进行转化,一个并联可以分为几个串联,然后串联可以分成边。
如此一来,最后叶子结点种数会是n,问题转化为去分配叶子结点,使得总和为n。
书上有两种方法,一种直接去递归,利用组合数学的方式去计算答案。
一种是推出递推式:
设dp[i][j]为一共j个叶子结点的树,子树的叶子最多的为i...
分类:
Web程序 时间:
2014-05-12 06:22:04
阅读次数:
447
题目链接:1073 - Glenbow Museum
白书上的例题,需要一定的推理。
首先要把问题转化,推理出n个点,R的个数为(n + 4) / 2, O的个数为(n - 4) / 2个,因为首先四个角必须为R,然后在中间添加O点,每有一个O点就要多一个R点,所以最后R点比O点多4。
然后问题就转化为给定n个R点和m个O点,求出有多少个序列,要求O点不连续,并且R的连续个数不能超过4,的序...
分类:
其他好文 时间:
2014-05-11 14:41:25
阅读次数:
293
递推法就是根据已知条件,分析推导出问题中的联系,然后一步一步进行推倒直至得到结果。根据具体问题我们需要选择是正推还是逆推来解决问题。下面先举一个递推中的经典例子,就是求兔子数量的问题:现有一只一个月大的兔子,已知当兔子在第三个月大时每月就可以生下一只小兔子(好吧,就按兔子是无性繁殖的),求一年后兔子...
分类:
其他好文 时间:
2014-05-10 06:36:21
阅读次数:
330
基本C/C++、STL(vector、set、map、queue、string、algorithm)枚举、贪心、递归、分治、递推、模拟构造、位运算、常数优化数据结构队列、堆、栈、链表排序(插入、冒泡、快速、归并、堆、桶、基数)二分查找、散列表、并查集、哈夫曼树排序二叉树、左偏树、平衡树(Splay/...
分类:
其他好文 时间:
2014-05-09 08:10:36
阅读次数:
338
动态规划和贪心算法的区别
动态规划和贪心算法都是一种递推算法
均有局部最优解来推导全局最优解
不同点:
贪心算法:
1.贪心算法中,作出的每步贪心决策都无法改变,因为贪心策略是由上一步的最优解推导下一步的最优解,而上一部之前的最优解则不作保留。
2.由(1)中的介绍,可以知道贪心法正确的条件是:每一步的最优解一定包含上一步的最优解。
动态规划算法:
1.全局最...
分类:
其他好文 时间:
2014-05-08 00:23:10
阅读次数:
307
题目要求是Z字形输出,先竖排,到了nRows之后,之后的字符放在nRows-1行,单独成一列,依次递推,到底一行后,之后的元素放在前一个元素的下方,以此类推即可。...
分类:
其他好文 时间:
2014-05-07 04:21:47
阅读次数:
324
一直在写c++程序,不过对于一些作图程序来说,还是MATLAB比较实在。
de Casteljau算法是作贝塞尔曲线的一种高效的算法,其思想就是对[0,1]区间中所有的t,通过n个控制顶点不断递推得到一个顶点:下面是我的代码实现:
function deCasteljau(P,Q)
%P is 1*n matrix for X
%Q is 1*n matrix for...
分类:
其他好文 时间:
2014-05-07 03:14:37
阅读次数:
303
设 t 为根节点到某一叶子节点路径上的权值和,则应让最小的 t 尽量的大。
坑点在于存在价格为零的商品。
一维倒序递推就失去了意义,无法保证每组选且只选一个。
另外可以选择不建立任何塔防,也就是说每个节点都多了一个price和power均为零的商品。
dp[s][k] 表示在 s 姐点投入 k 时所能取得的最大值。
#include
#include
#include
#inclu...
分类:
其他好文 时间:
2014-05-06 21:08:08
阅读次数:
451