码迷,mamicode.com
首页 >  
搜索关键字:记忆化    ( 1420个结果
斐波那契记忆递归
虽然教材上说斐波那契数列用递归来计算效率很低,因为重复计算次数太多,不过如果将结果保存起来,使用记忆化的思想,还是可以使用递归计算斐波那契的 代码如下public class 斐波那契记忆递归 { static int n=150; static int[] mem=new int[n+1]; public static void main(String[] args) { //将第...
分类:其他好文   时间:2014-12-20 16:59:13    阅读次数:303
10.1.2.1 C# 和 F# 中可重用的记忆化
10.1.2.1 C# 和 F# 中可重用的记忆化   如果看一下清单 10.3 中建立 add 值的代码,可以发现,它并不真正知道加法,只是使用了 addSimple 函数,因此,也可以处理其他任何函数。为了使代码更通用,我们可以把这个函数改成参数。 我们要写一个函数(C# 中叫方法),参数为函数,返回这个函数的记忆化版本。参数值是做实际工作的函数,返回的函数增加了缓存功能。清单 10.4...
分类:Windows程序   时间:2014-12-19 15:50:11    阅读次数:243
10.1.2 使用记忆化缓存结果
10.1.2 使用记忆化缓存结果   记忆化(Memoization),可以描述为缓存函数调用的结果,听起来可能有点复杂,但是,技术非常简单。正如我们前面提到的那样,在函数式编程中,大多数函数是没有副作用的,因此,如果我们用相同的参数值,两次调用同一个函数,得到的结果相同。 如果我们要得到与上一次相同的结果,为什么还要麻烦去再一次执行函数呢?相反,我们可以缓存这个结果。如果我们把第一次调用的...
分类:其他好文   时间:2014-12-18 17:02:59    阅读次数:192
poj 3249 Test for Job 图上dp(记忆化搜索)
题意: 给一个n个点的DAG,每个点有一个值p,现在要在图上找一个入度为0到出度为0的路径,使路径上的点的p值和最大。 分析: dp[v]记录以点v为起点能获得的最大值,搜一遍即可。 代码: //poj 3249 //sep9 #include using namespace std; const int maxN=100024; const int maxM=1000024; int...
分类:其他好文   时间:2014-12-15 20:26:17    阅读次数:117
Best Sequence(poj 1699) 状压dp(TSP)
类似于前两天做的那个wordstack。状压的其实有时候爆搜+记忆化也差不多。 就是这个是要与之前的都重合,移位预处理要注意。 理解好第一个样例就行 /* *********************************************** Author :bingone Created Time :2014/12/9 22:48:56 File Name ...
分类:其他好文   时间:2014-12-12 00:05:26    阅读次数:185
uva10417 概率DP
这题 to[i][j] 为第i个人送j这个礼物的概率 我们用13进制进行压缩这个留下的的礼物的个数,这样我们将dp[i][k]表示为当第i个人放完礼物后得到的状态为k时的概率,那么通过记忆化搜索我们就得到了我们想要的状态概率即 dp[i][k]+={dp[i+1][k-aj]*to[i][aj]},...
分类:其他好文   时间:2014-12-06 18:11:32    阅读次数:178
HDU5115 Dire Wolf 区间DP 记忆化搜索
题意:举个例子,就跟DOTA里的狼BB一样,自身有攻击力,还有光环可以提升同伴的攻击力,狼站成一排,光环只能提供给相邻的狼,打掉一直狼需要打一下,同时它也会打一下,这样你的扣血量其实就等于该狼的攻击力 方程很好想,dp[i][j]代表 打掉区间[i,j]内的狼所需最少血量,这里是闭区间,后来看到是200*200 ,那么就懒得去想方程转移了,直接记忆化搜索就可以了,注意点是 一个狼被宰了,...
分类:其他好文   时间:2014-12-05 22:48:39    阅读次数:188
UVa 10404. Bachet's Game
题意为给出总石子数n,和m堆石子,两个人轮着取石子,每次只能从总石子中取m堆中的一堆的个数的石子,取走最后一个石子的胜。S先取,O后取。 用博弈的输赢观念+dp就可以了,由于记忆化搜索会爆栈,那就递推了,索性还好推…… 不然就不会了…… #include #include #include #include #include #include #include #includ...
分类:其他好文   时间:2014-12-04 20:02:40    阅读次数:246
ZOJ Problem Set - 3795(缩点拓补)
题意:每条信息说明了两个一定不在一个集合里的人,求最少情况集合可以划分为多少子集。 一看就是拓补树的最高层数,但题意中隐含了可能有环(>=关系偏序),所以要先缩点,再拓补。当然,缩点之后图中没有环,直接dfs记忆化也是ok的。 代码: #include #include #include #include #include #include #include #include #define...
分类:其他好文   时间:2014-12-02 13:35:14    阅读次数:145
UVa 10651 - Pebble Solitaire
题目:有一个类似跳棋的游戏,一共有12个位置'o'代表棋子'-'代表空位,             'oo-'可以转化成'--o','-oo'可以转化成'o--',给你初始状态,问最后,至少剩下几个棋子。 分析:dp,记忆化搜索,位运算。利用搜索在相邻状态间dp即可。             每个状态的最优解为他能转化所有状态中的最优解。             因为,一共有2^12 = ...
分类:其他好文   时间:2014-12-02 06:47:07    阅读次数:235
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!