2、动态规划
文章平均质量分 82
童凌
当你停下来休息的时候,不要忘记别人还在奔跑!——一个普通的软件工程专业学生
展开
-
2014.5.1 训练日志(下午):动态规划(DP)
背包问题有N件物品和一个容量为V的背包。第i件物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使价值总和最大。基本思路这是最基础的背包问题,特点是:每种物品仅有一件,可以选择放或不放。用子问题定义状态:即f[i][v]表示前i件物品恰放入一个容量为v的背包可以获得的最大价值。则其状态转移方程便是:f[i][v]=max{f[i-1][v],f[i-1][v-c[i原创 2014-05-01 17:22:07 · 478 阅读 · 0 评论 -
[dp]poj1458 -Common Subsequence(LCS)
Common SubsequenceTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 41846 Accepted: 16868DescriptionA subsequence of a given sequence is the given sequenc原创 2015-05-28 20:02:57 · 477 阅读 · 0 评论 -
[dp]Search 字符串匹配问题
Problem D Search Time Limit: 1000ms, Memory Limit:64MB Description When we search for something on internet, we always use two characters “” and “?”. ”” represents 0 or more lowercase letters,”?” r原创 2015-06-19 07:15:33 · 1909 阅读 · 0 评论 -
[dp]1396:Select Team
DescriptionAs we know, ACM competition is not only based on personal talents, but also team works. A team can be outstanding once it combines these two factors.A school has N ACM contest can原创 2015-05-18 13:24:54 · 638 阅读 · 0 评论 -
[DP] OpenJudge 2757 最长上升子序列
2757:最长上升子序列总时间限制: 2000ms 内存限制: 65536kB 描述 一个数的序列bi,当b1 b2 < ... <bS的时候,我们称这个序列是上升的。对于给定的一个序列(a1, a2, ...,aN),我们可以得到一些上升的子序列(ai1, ai2, ...,aiK),这里1 i1 i2 < ... <iK 你的任务,就是对于给定的序列,求出最长上原创 2014-07-20 15:00:02 · 788 阅读 · 0 评论 -
[dp]最长公共子序列问题
最长公共子序列问题给定两个字符串s1s2…sn和t1t2…tn。求出这两个字符串最长的公共子序列的长度.限制条件:1输入:n = 4m = 4s = "abcd"t = "becd"输出3 ("bcd")这个问题是被成为最长公共子序列(LCS)的著名问题。不妨用如下方式定义试试看:定义:dp[i][j] = s[1]…s[原创 2015-05-25 17:48:44 · 628 阅读 · 0 评论 -
[dp]poj2385 AppleCatching
Apple CatchingTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 8855 Accepted: 4311DescriptionIt is a little known fact that cows love apples. Farmer Jo原创 2015-05-26 13:41:34 · 519 阅读 · 0 评论 -
[dp] hdu 5389 多校联合第八场 Zero Escape
Zero EscapeTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others) Total Submission(s): 600 Accepted Submission(s): 301Problem Description Zero Escape, is a visual no原创 2015-08-14 13:08:50 · 623 阅读 · 0 评论 -
[dp] poj3280 Cheapest Palindrome
Cheapest PalindromeTime Limit: 2000MS Memory Limit: 65536KTotal Submissions: 6598 Accepted: 3197DescriptionKeeping track of all the cows can be a tricky task so F原创 2015-05-26 21:08:54 · 463 阅读 · 0 评论 -
[dp]poj 3616 Milking Time 带权重的区间dp
Milking TimeTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 5607 Accepted: 2344DescriptionBessie is such a hard-working cow. In fact, she is so focuse原创 2015-05-26 18:42:11 · 589 阅读 · 0 评论 -
[dp] Testing the CATCHER 最长下降子序列问题
(最长上升子序列)的问题,通过dp也可以很有效率地求解。我们首先来建立一下递推关系。定义dp[i]= 以a[i]为末尾的最长上升子序列的长度。以a[i]结尾的上升子序列可定义为:1、只包含a[i]的子序列2、在满足j这二者之一。这样就能得到以下的递推关系:dp[i] = max{1 , dp[j] +1(满足j使用这一递推公式可以在O(n²)时间内解决这一问题。原创 2015-05-23 10:53:02 · 632 阅读 · 0 评论 -
[DP]携程预赛第一场 括号匹配 (动态规划)
括号匹配Time Limit : 2000/1000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other)Total Submission(s) : 110 Accepted Submission(s) : 46Font: Times New Roman | Verdana | GeorgiaFont Size: ←原创 2014-07-21 11:50:17 · 1345 阅读 · 0 评论 -
[dp]poj1664 放苹果 dp解法
放苹果Time Limit: 1000MS Memory Limit: 10000KTotal Submissions: 27747 Accepted: 17550Description把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。原创 2015-05-27 13:37:20 · 1298 阅读 · 1 评论 -
2014.5.1 训练日志(上午):动态规划(dp)
动态规划: 动态规划主要用于最优化(最大或最小)问题。目的是找出最优解值(可能有多个最优解)。它是一种思想,在程序设计中,已经抽象为一种程序设计技术,通常分为两个要素:最优子结构和重叠子问题。 最优子结构: 一个最优化策略具有这样的性质,不论过去状态和决策如何,对前面的决策所形成的状态而言,余下的诸决策必须构成最优策略。简而言之,一个最优化策略的子策略总是最优的。原创 2014-05-01 13:40:52 · 780 阅读 · 0 评论 -
集训日志(三) 动态规划
一、基本概念 动态规划过程是:每次决策依赖于当前状态,又随即引起状态的转移。一个决策序列就是在变化的状态中产生出来的,所以,这种多阶段最优化决策解决问题的过程就称为动态规划。二、基本思想与策略 基本思想与分治法类似,也是将待求解的问题分解为若干个子问题(阶段),按顺序求解子阶段,前一子问题的解,为后一子问题的求解提供了有用的信息。在求解任一子问题时,列出各种可能原创 2014-07-20 12:09:00 · 641 阅读 · 0 评论 -
[dp]关于动态规划的一些理解
原文地址动态规划的概念在上例的多阶段决策问题中,各个阶段采取的决策,一般来说是与时间有关的,决策依赖于当前状态,又随即引起状态的转移,一个决策序列就是在变化的状态中产生出来的,故有“动态”的含义,称这种解决多阶段决策最优化问题的方法为动态规划方法。与穷举法相比,动态规划的方法有两个明显的优点:(1)大大减少了计算量(2)丰富了计算结果应用动态规划要注意阶段的划分是关键,必须转载 2014-07-21 11:48:53 · 805 阅读 · 0 评论 -
[dp]HDU 2191 多重背包问题
Problem Description急!灾区的食物依然短缺!为了挽救灾区同胞的生命,心系灾区同胞的你准备自己采购一些粮食支援灾区,现在假设你一共有资金n元,而市场有m种大米,每种大米都是袋装产品,其价格不等,并且只能整袋购买。请问:你用有限的资金最多能采购多少公斤粮食呢?后记:人生是一个充满了变数的生命过程,天灾、人祸、病痛是我们生命历程中不可预知的威胁。月有阴晴原创 2015-05-23 15:20:54 · 609 阅读 · 0 评论 -
[dp]poj3176 Cow Bowling
Cow BowlingTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 15103 Accepted: 10047DescriptionThe cows don't use actual bowling balls when they go bowl原创 2015-05-26 09:09:56 · 421 阅读 · 0 评论 -
[dp]多重部分和问题
多重部分和问题:有n种不同大小的数字ai,每种各有mi个,判断是否可以从这些数字中选出若干使它们的和恰好为k。限制条件:1 1 a 样例输入:n = 3a = {3, 5, 8}m= {3, 2, 2}K=17输出:Yes (3*3+8=17)这个问题可以用dp求解,不过如何定义递推关系会影响到最终的复杂度。首先我们看一下如下的原创 2015-05-28 09:25:22 · 896 阅读 · 0 评论 -
[dp]poj1088_滑雪 二维形式的最长下降子序列
二维的最长下降子序列滑雪Time Limit: 1000MS Memory Limit: 65536KTotal Submissions: 35399 Accepted: 12399DescriptionMichael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜原创 2015-05-23 14:00:36 · 878 阅读 · 0 评论 -
[dp]poj2229 Sumsets
SumsetsTime Limit: 2000MS Memory Limit: 200000KTotal Submissions: 14230 Accepted: 5663DescriptionFarmer John commanded his cows to search for different sets of原创 2015-05-26 11:01:33 · 514 阅读 · 0 评论 -
[背包] poj 3624 最基本的背包问题
P01: 01背包问题 题目 有N件物品和一个容量为V的背包。第i件物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。 基本思路 这是最基础的背包问题,特点是:每种物品仅有一件,可以选择放或不放。 用子问题定义状态:即f[i][v]表示前i件物品恰放入一个容量为v的背包可以获得的最大价值。则其状态转移方程便原创 2015-05-21 20:51:24 · 905 阅读 · 0 评论 -
[dp]poj2193-字符串动态规划
ZipperTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 16743 Accepted: 5969DescriptionGiven three strings, you are to determine whether the third s原创 2015-05-27 19:41:48 · 724 阅读 · 0 评论 -
[dp]Piggy-Bank 完全背包
DescriptionBefore ACM can do anything, a budget must be prepared and the necessary financial support obtained. The main income for this action comes from Irreversibly Bound Money (IBM). The idea原创 2015-05-22 18:31:34 · 662 阅读 · 0 评论