码迷,mamicode.com
首页 >  
搜索关键字:动态规划    ( 6061个结果
POJ 1692 Crossed Matchings(DP)
题意 有两行数a[n1] b[n2] 分别有n1 n2个数 当第一行一个数和第二行一个数相等时 他们就可以连起来 每个数只能连一个 求最有多少条线使得每条都至少有一条和它相交 令d[i][j]表示 a的前i个数和j的前j个数最多可以连接多少条 当a[i]==b[j]时 将们连起来是肯定不与其它线相交的 所以d[i][j]=max(d[i-1][j],d[i][j-1]) 当a[i]!=b[j]时 如果可以在第一行找一个数x<i 第二行找一个数y<j 使得a[x]==b[j...
分类:其他好文   时间:2014-08-15 16:11:19    阅读次数:261
HDU 1114 Piggy-Bank(完全背包 DP)
题意 知道空存钱罐的重量和装满钱的存钱罐的重量及每种币值的重量 求存钱罐里至少有多少钱 裸的完全背包 但是是求最小值 所以初始0要变成初始INF max也要变成min...
分类:其他好文   时间:2014-08-15 16:05:10    阅读次数:245
HDU 1024 Max Sum Plus Plus Dp题解
本题就是求m段子段,而且要求这些子段加起来和最大,最大子段和的Plus版本。 不过题意真的不好理解,x,y什么的都没有说清楚。 知道题意就开始解题了,这肯定是动态规划法了。 动态规划法的程序不难写,关键是抽象思维。 这里的最小情况是只分成一段的时候,就退化为最大子段和问题了,这个是段数的最小情况了; 如果只有0个数的时候,结果肯定为零了,或者如果只有一个数的时候就是这个数了,那么数列只有0...
分类:其他好文   时间:2014-08-15 14:41:48    阅读次数:164
nyist oj 79 拦截导弹 (动态规划基础题)
拦截导弹 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描述 某国为了防御敌国的导弹袭击,发展中一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于等于前一发的高度。某天,雷达捕捉到敌国导弹来袭。由于该系统还在试用阶段,所以只用一套系统,因此有可能不能拦截所有的导弹。 ...
分类:其他好文   时间:2014-08-15 14:38:48    阅读次数:159
01背包问题
动态规划的基本思想:将一个问题分解为子问题递归求解,且将中间结果保存以避免反复计算。通经常使用来求最优解,且最优解的局部也是最优的。求解过程产生多个决策序列,下一步总是依赖上一步的结果,自底向上的求解。动态规划算法可分解成从先到后的4个步骤:1. 描写叙述一个最优解的结构,寻找子问题,对问题进行划分...
分类:其他好文   时间:2014-08-15 14:30:39    阅读次数:116
最长公共子序列(LCS)
【题目简述】:  给定两个字符串s1s2……sn 和 t1 t2 ……tn。求出这两个字符串最长的公共给你子序列的长度。字符串  s1  s2 ……sn的子序列指可以表示为si1 si2…… si n(i1 列如: n  = 4; m = 4 s   = " abcd " t    = " becd " 输出: 3(即:bcd) 【分析】:这个经典的最长公共子序列问题,我们可以用...
分类:其他好文   时间:2014-08-15 12:56:08    阅读次数:166
nyist oj 17 单调递增最长子序列 (动态规划经典题)
单调递增最长子序列 时间限制:3000 ms  |  内存限制:65535 KB 难度:4 描述求一个字符串的最长递增子序列的长度 如:dabdbf最长递增子序列就是abdf,长度为4 输入第一行一个整数0 随后的n行,每行有一个字符串,该字符串的长度不会超过10000 输出输出字符串的最长递增子序列的长度 样例输入 3 aaa ababc abklm...
分类:其他好文   时间:2014-08-15 12:52:48    阅读次数:206
动态规划 HDU1231-------最大连续子序列
Problem Description给定K个整数的序列{ N1, N2, ..., NK },其任意连续子序列可表示为{ Ni, Ni+1, ..., Nj },其中 1 2 #include 3 4 using namespace std; 5 int num[10008]; 6 7...
分类:其他好文   时间:2014-08-15 12:03:48    阅读次数:225
换硬币问题
【问题】 想兑换100元钱,有1,2,5,10四种钱,问总共有多少兑换方法。 const int N = 100; int dimes[] = {1, 2, 5, 10}; int arr[N+1] = {1}; int coinExchange(int n) //动态规划 { int i, j; for (i = 0; i < sizeof(dimes)/sizeof(int); ...
分类:其他好文   时间:2014-08-15 01:33:37    阅读次数:279
初步了解--状态压缩dp---poj1185炮兵布阵结题报告
好吧,借助poj1185炮兵布阵这题,仔仔细细的了解了一下状态压缩动态规划。那么这里详细了解什么是状态压缩,如何状态压缩,状态压缩的操作。。。以及详细的解题报告。希望自己后面了解的时候能一目了然,对刚入门的人有帮助是最好不过滴...
分类:其他好文   时间:2014-08-15 00:07:17    阅读次数:225
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!