分析:从最小面一层开始往上计算,设dp[i][j]是以第i层j个元素为起点的最小路径和,动态规划方程如下dp[i][j]
= value[i][j] + max{dp[i-1][j],
dp[i-1][j+1]}因为每一层之和它下一层的值有关,因此只需要一个一位数组保存下层的值,public int...
分类:
其他好文 时间:
2014-05-24 05:56:35
阅读次数:
294
动态规划的基本思想:将一个问题分解为子问题递归求解,且将中间结果保存以避免重复计算。通常用来求最优解,且最优解的局部也是最优的。求解过程产生多个决策序列,下一步总是依赖上一步的结果,自底向上的求解。动态规划算法可分解成从先到后的4个步骤:1.
描述一个最优解的结构,寻找子问题,对问题进行划分。2. ...
分类:
其他好文 时间:
2014-05-24 04:14:52
阅读次数:
241
10192 最长公共子序列
http://uva.onlinejudge.org/index.php?option=com_onlinejudge&
Itemid=8&page=show_problem&category=114&problem=1133&mosmsg=
Submission...
分类:
其他好文 时间:
2014-05-23 22:30:07
阅读次数:
528
Robberies http://acm.hdu.edu.cn/showproblem.php?pid=2955
背包;第一次做的时候把概率当做背包(放大100000倍化为整数):在此范围内最多能抢多少钱 最脑残的是把总的概率以为是抢N家银行的概率之和…
把状态转移方程写成了f[j]=max{f[j],f[j-q[i].v]+q[i].money}(f[j]表示在概...
分类:
其他好文 时间:
2014-05-22 09:43:12
阅读次数:
282
大意:有5种面值的硬币,1、5、10、25、50分。给定找零总额,问有多少种组合方法。
分析:动态规划。int不会溢出。...
分类:
其他好文 时间:
2014-05-22 08:04:13
阅读次数:
239
算法训练 结点选择
时间限制:1.0s 内存限制:256.0MB
锦囊1
使用树型动态规划。
锦囊2
用F[i]表示从子树i中选择结点,且结点i必须被选择的最大值,用G[i]表示从子树i中选择结点,且结点i必须不被选择的最大值。
则F[i]=a[i]+\sum(G[j]),其中a[i]表示结点i的权值,j是i的子结...
分类:
其他好文 时间:
2014-05-22 07:28:26
阅读次数:
346
public class GameTree {
/**
* 判断剩余球数,谁能取到最后谁赢,
* ,一人取一次,默认我方先取,,能否必胜,能就返回true,否则false
* @param x剩余球数
* @return
*/
static boolean f(int x){
int[] op={1,3,7,8};//每次取球只能有四种情况
for(int i=0;i
if (...
分类:
其他好文 时间:
2014-05-20 14:09:29
阅读次数:
263
算法导论上的题目,用动态规划算法解矩阵链乘法问题需要时间为O(n^3),空间为O(n^2)。
问题描述:
给定n个矩阵构成的一个链(A1*A2*A3……*An),其中i=1,2,……n,矩阵Ai的维数为p(i-1)*p(i),对于乘积A1*A2*A3……*An以一种最小化标量乘法次数的方式进...
分类:
其他好文 时间:
2014-05-20 11:46:29
阅读次数:
195