码迷,mamicode.com
首页 >  
搜索关键字:动态规划    ( 6061个结果
博弈树,动态规划(计算好的子问题存储起来,以后直接取用)
public class GameTree {/*** 推断剩余球数,谁能取到最后谁赢,* ,一人取一次,默认我方先取,,是否能必胜,能就返回true,否则false* @param x剩余球数* @return*/static boolean f(int x){int[] op={1,3,7,8}...
分类:其他好文   时间:2014-07-11 18:48:55    阅读次数:180
POJ 2063 Investment
完全背包问题。 我的背包训练第二题。按照背包九讲的步骤来搞。 题意是说给你一些本钱,然后有一些债券可以购买,不同的债券会有不同的利润,在规定年限内,利润要最大。 债券是无限制购买的,(完全背包)获得的利润可以买债券,(背包变大) 每年都可以选择债券,也就是每年都要重新开始,(每年一次) 最后得出你手上的钱有多少。这道题题目中提示了 1000的倍数。但是本钱...
分类:其他好文   时间:2014-07-10 21:29:48    阅读次数:222
HDU 2829 Lawrence(动态规划-四边形不等式)
HDU 2829 Lawrence(动态规划-四边形不等式) 题目大意: 有n个点连在一起,m个炸弹可以阻断它们的相连,问你全部用完炸弹后的最小值。 解题思路: 四边形不等式是一种比较常见的优化动态规划的方法: 设m[i,j]表示动态规划的状态量。 m[i,j]有类似如下的状态转移方程: m[i,j]=opt{m[i,k]+m[k,j]}(i≤k≤j) 如果对于任意的a≤b≤c≤d,有m[a,c]+m[b,d]≤m[a,d]+m[b,c],那么m[i,j]满足四边形不等式。 以上是适用这种优化方法的必要...
分类:其他好文   时间:2014-07-08 18:07:15    阅读次数:273
POJ 3624 Charm Bracelet
DP 一直是心中痛,不多说了,这个暑假就坑在这上了。 这暑假第一道DP题,01背包问题。 题意是说物品有 重量和价值 ,但你能承受的重量有限,问你能带的最大价值。 这题数组开大点,虽然不知道有啥坑点,但是我数组开得大,直接1A了。 #include #include #include #include #include #include #include #incl...
分类:其他好文   时间:2014-07-08 10:33:09    阅读次数:229
HDU 1058 Humble Numbers
既然将这道题分类到动态规划的题目里面,一开始便是用动态规划的思想去思考。一个上午毫无突破,看的人家的题解。定义四个伪指针存放下标,分别表示的意思是在已知的丑数中,能够与2,3,5,7相乘的最小的数的下标。上面这句话要好好体会。也就是说dp[p1] * 2 能够得到一个新的丑数,其他三个以此类推。但我...
分类:其他好文   时间:2014-07-06 20:41:32    阅读次数:223
最长单调递增子序列问题
最长单调递增子序列问题 题目:设计一个 O( n ^ 2 )复杂度的算法,找出由 n 个数组成的序列的最长单调递增子序列。 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.i...
分类:其他好文   时间:2014-07-06 11:30:45    阅读次数:176
数塔问题
数塔问题 题目:给定一个数塔,其存储形式为如下所示的下三角矩阵。在此数塔中,从顶部出发,在每一节点可以选择向下走还是向右走,一直走到底层。请找出一条路径,使路径上的数值和最大。 输入样例(数塔): 9 12   15  10   6    8 2    18   9    5 19   7    10   4    16 输出样例(最大路径和): 59...
分类:其他好文   时间:2014-07-06 08:38:12    阅读次数:166
算法——动态规划篇——最长公共子序列
问题描写叙述 最长公共子序列,英文缩写为LCS(Longest Common Subsequence)。其定义是,一个序列 S ,假设各自是两个或多个已知序列的子序列,且是全部符合此条件序列中最长的,则 S 称为已知序列的最长公共子序列。 解决最长公共子序列,一种经常使用的办法,就是穷举法,组...
分类:其他好文   时间:2014-07-03 07:09:44    阅读次数:255
POJ 3211 Washing Clothes 背包题解
本题是背包问题,但是需要转化成背包的。 因为是两个人洗衣服,那么就是说一个人只需要洗一半就可以了,因为不能两个人同时洗一件衣服,所以就成了01背包问题了。 思路: 1 计算洗完同一颜色的衣服需要的总时间totTime 2 利用动态规划背包法求这些衣服能在那些时间点完成 3 求比(totTime+1)/2大的最小时间点 4 得到洗一种颜色衣服的时间,那么继续求下洗一种颜色衣服的时间 5...
分类:其他好文   时间:2014-07-01 14:22:46    阅读次数:209
十大基础实用算法之动态规划
动态规划(Dynamic programming)是一种在数学、计算机科学和经济学中使用的,通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。 动态规划常常适用于有重叠子问题和最优子结构性质的问题,动态规划方法所耗时间往往远少于朴素解法。 动态规划背后的基本思想非常简单。大致上,若要解一个给定问题,我们需要解其不同部分(即子问题),再合并子问题的解以得出原问题的解。 通常许多子问题...
分类:其他好文   时间:2014-07-01 11:21:13    阅读次数:293
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!