![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
【动态规划】
文章平均质量分 77
herongweiV
喜爱编程,热爱算法。
展开
-
NYOJ 36 &&HDU 1159 最长公共子序列(经典)
链接:click here题意:tip:最长公共子序列也称作最长公共子串(不要求连续),英文缩写为LCS(Longest Common Subsequence)。其定义是,一个序列 S ,如果分别是两个或多个已知序列的子序列,且是所有符合此条件序列中最长的,则 S 称为已知序列的最长公共子序列。输入第一行给出一个整数N(0接下来每组数据两行,分别为待测的两组字符串。每个字符串长度不大于原创 2015-01-31 22:10:53 · 1194 阅读 · 0 评论 -
UVA 562 Dividing coins (01背包基础)
【题目链接】:click here~~代码:/** Problem: UVA No.562* Running time: 0MS* Complier: C++* Author: ACM_herongwei* Create Time: 11:12 2015/9/9 星期三* zeroonebags * 将金币总价值的一半作为背包容量,然后zeronebags*/#incl原创 2015-09-09 11:17:10 · 1406 阅读 · 1 评论 -
HDU 2546 饭卡 (基础01背包)
【题目链接】:click here~~【思路】要使卡能能买到商品,不如先计算余额减去5之后能买前n-1个商品的最大价值(前提按照价格递增排序),最后减去最大的价格即可代码:/** Problem: HDU No.2546* Running time: 46MS* Complier: C++* Author: javaherongwei* Create Time: 11:26原创 2015-09-05 11:31:24 · 850 阅读 · 0 评论 -
HDU 2602 (Bone Collector )基础 01背包
【链接】:click here~~【思路】基础01背包,注意第一排输入的是价值,第二排是体积。。代码:/* * Problem: HDU No.2602* Running time: 46MS * Complier: C++ * Author: javaherongwei * Create Time: 10:14 2015/9/5 星期六*/ #include原创 2015-09-05 10:19:15 · 655 阅读 · 0 评论 -
POJ 2184 Cow Exhibition (处理负值的01背包)
【题目链接】:click here~~【思路】: 转化问题,求s和为某个固定值时候最大的f和值,然后遍历这些所有的s和以及对应的f和值,求出总和总和最大的那个。 那么这样就是一个0-1背包问题,可以把s值理解为费用,f值理解为价值 dp[c]代表s和为c时候,f和能取到的最大值。 状态转移方程: dp[c]=max{dp[c], dp[c-s[i原创 2015-09-10 21:05:34 · 813 阅读 · 0 评论 -
POJ 3624 Charm Bracelet (基础01背包)
【题目链接】:click here~~【思路】基础01背包代码:/** Problem: POJ No.3624* Running time: 286MS* Complier: C++* Author: javaherongwei* Create Time: 10:22 2015/9/5 星期六*/#include #include #include #inclu原创 2015-09-05 10:28:24 · 562 阅读 · 0 评论 -
ZOJ Monthly, October 2011 (DP+数学专场!!!)
【比赛链接】:click here~~这套题是暑假打多校的时候拉的一次比赛,感觉题目都很有意思,所以重新拉出来总结一下。ZOJ 3549 Little Keng 【题意】:Calculate how many 0s at the end of the value below: 1n + 2n + 3n + ... + mn【思路】:数据不大直接暴力求解。代码:原创 2015-09-25 14:36:05 · 1475 阅读 · 0 评论 -
HDU 1025 Constructing Roads In JGShining's Kingdom (LIS 最长递增子序列)
【题目链接】:click here~~【题意】:河岸两旁有n个村庄,他们之间要互相修路,并且同一边的不互相修,在保证不交叉的情况下,最大限度的路的是多少。【思路】转化题意后,发现是求LIS,入门题训练LIS详细分析:代码:/* * Problem: HDU No.1025* Running time: 374MS * Complier: G++ * Author:原创 2015-09-28 10:41:28 · 1069 阅读 · 0 评论 -
最长上升子序列问题
最长上升子序列问题有一个长为n的数列请求出这个序列中最长的上升子序列的长度,上升子序列值的是对于任意的,都满足的子序列。N的范围决定与算法的选择1这个问题也被称为最长递增子序列(LIS)首先建立递推关系:定义dp[i]:=以为末尾的最长递增子序列的长度以结尾的上升子序列是:只包含的子序列在满足并且的以为结尾的上升序列末尾,追加后得到的子序列这二者之一,就翻译 2015-09-29 14:14:14 · 1472 阅读 · 2 评论 -
Acdream 1667 调皮的数一 (ACdreamer java 专场)
【题目链接】:click here~~【题目大意】:Problem Description 数一很喜欢跑步~喜欢追逐风的脚步~ 但是数一永远改不了贪玩调皮的个性,他在跑步的时候经常跑到别的跑道上。假设数一在跑一条直线跑道,从左往右是1号跑道,2号跑道,3号跑道......如此类推,并且为了让数一同学更自由,总共有无限条跑道!数一需要跑n步才能到达终点原创 2015-09-23 00:32:56 · 1255 阅读 · 0 评论 -
[TopCoder SRM420 Div1 500pt RedIsGood]【数学期望】【动态规划】
【题意】桌面上有R 张红牌和B 张黑牌,随机打乱顺序后放在桌面上,开始一张一张地翻牌,翻到红牌得到1 美元,黑牌则付出1 美元。可以随时停止翻牌,在最优策略下平均能得到多少钱。【思路】:于是dp[0][0]=0dp[i][j]=F[i-1][j]+1; (j=0)dp[i][j]=0; (i=0)dp[i]原创 2015-09-24 13:14:10 · 1595 阅读 · 0 评论 -
UVALive 4260 Fortune Card Game (Regionals 2008 Asia Taipei +DP)
【题目链接】:click here~~【题目大意】:A popular card game called ``fortune" is getting popular in country X. Fig. 1 shows one of the cards. In each card, a positive integer number (20 in the figure) is li原创 2015-10-14 21:23:57 · 1405 阅读 · 0 评论 -
HDU 5532 Almost Sorted Array (2015ACM/ICPC长春&&LIS)
【题目链接】:click here~~【题目描述】:Almost Sorted ArrayTime Limit: 4000/2000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others)Total Submission(s): 272 Accepted Submission(s): 132原创 2015-11-02 21:35:45 · 1582 阅读 · 0 评论 -
括号配对问题(I && II)
括号配对问题I时间限制:3000 ms | 内存限制:65535 KB难度:3描述现在,有一行括号序列,请你检查这行括号是否配对。输入第一行输入一个数N(0输出每组输入数据的输出占一行,如果该字符串中所含的括号是配对的,则输出Yes,如果不配对则输出No样例输入3[(])(])([[]()])样例输出NoNoYes原创 2016-04-07 21:40:54 · 1345 阅读 · 0 评论 -
DP-编辑距离问题
【题意】设A和B是2个字符串。要用最少的字符操作将字符串A转换为字符串B。这里所说的字符操作包括 (1)删除一个字符; (2)插入一个字符; (3)将一个字符改为另一个字符。 将字符串A变换为字符串B所用的最少字符操作数称为字符串A到B的编辑距离,记为d(A,B)。试设计一个有效算法,对任给的2个字符串A和B,计算出它们的编辑距离d(A,原创 2017-01-24 17:13:29 · 675 阅读 · 0 评论 -
UVA 624 CD (01 背包)
【题目链接】:click here~~代码:/* * Problem: UVA No.624* Running time: 0MS * Complier: C++ * Author: javaherongwei * Create Time: 21:25 2015/9/8 星期二* 【题意】你要录制时间为N的带子,给你一张CD的不同时长的轨道,求总和不大于N的录制顺序原创 2015-09-08 21:35:51 · 1836 阅读 · 2 评论 -
HDU 2955 Robberies (转化概率-01背包)
【题目链接】:click here~~代码:/** Problem: HDU No.2955* Running time: 46MS* Complier: G++* Author: ACM_herongwei* Create Time: 15:01 2015/9/9 星期三* zeroonebags* 用成功逃走的概率当做价值!银行的总钱数当做背包容量!单个银行的钱数体积,然原创 2015-09-09 15:14:15 · 1241 阅读 · 2 评论 -
NYOJ 820 又见01背包 (价值和重量互换)
链接:click here题意:描述 有n个重量和价值分别为wi 和 vi 的 物品,从这些物品中选择总重量不超过 W 的物品,求所有挑选方案中物品价值总和的最大值。 1 1 1 1 输入多组测试数据。每组测试数据第一行输入,n 和 W ,接下来有n行,每行输入两个数,代表第i个物品的wi 和 vi。输出满足题意的最大价值,每组测试数据原创 2015-01-31 21:18:33 · 1280 阅读 · 0 评论 -
超大背包(挑战编程之01背包)
先来温习01背包:01背包是在M件物品取出若干件放在空间为W的背包里,每件物品的体积为W1,W2……Wn,与之相对应的价值为P1,P2……Pn。求出获得最大价值的方案。注意:在本题中,所有的体积值均为整数。思路:考虑用动态规划的方法来解决,这里的:阶段是:在前N件物品中,选取若干件物品放入背包中;状态是:在前N件物品中,选取若干件物品放入所剩空间为W的背包中的所能获翻译 2015-02-01 22:24:40 · 1209 阅读 · 0 评论 -
NYOJ 76--超级台阶
描述有一楼梯共m级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第m级,共有多少走法?注:规定从一级到一级有0种走法。输入输入数据首先包含一个整数n(1输出对于每个测试实例,请输出不同走法的数量。样例输入223样例输出12#includeint main(){int n;int num[45];num原创 2014-02-09 11:26:09 · 1270 阅读 · 0 评论 -
NYOJ 269--VF
VF时间限制:1000 ms | 内存限制:65535 KB难度:2原创 2014-08-04 18:03:12 · 1226 阅读 · 1 评论 -
NYOJ 325 zb的生日+NYOJ 456 邮票分你一半
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=325http://acm.nyist.net/JudgeOnline/problem.php?pid=456原创 2014-10-10 21:04:19 · 1052 阅读 · 0 评论 -
CoderForce 189A 割丝带(DP)
CoderForce 189A 割丝带(DP)原创 2015-01-24 18:46:15 · 924 阅读 · 0 评论 -
【组队赛#7】BNU 4275 Your Ways(数学题 + 动态规划)
【题目链接】:click here~~【题目大意】:题意:给出一个w*h的方格,问除去不能走的路,从(0,0)到(w,h)共有多少种走法。【解题思路】:第七场比赛的题,最后一小时在看这道题,比较遗憾最后还是没有A出来,赛后重新看了看题目,理清一下思路,发现就是道简单的dp,处理一下除去不能走的路,不过要注意题目的一句话:“ The blocking is done in such a原创 2015-04-20 07:55:57 · 860 阅读 · 1 评论 -
hihoCoder#1038 : 01背包
【题目链接】:click here~~时间限制:20000ms单点时限:1000ms内存限制:256MB描述且说上一周的故事里,小Hi和小Ho费劲心思终于拿到了茫茫多的奖券!而现在,终于到了小Ho领取奖励的时刻了!小Ho现在手上有M张奖券,而奖品区有N件奖品,分别标号为1到N,其中第i件奖品需要need(i)张奖券进行兑换,同时也只能兑换一次原创 2015-06-10 11:51:55 · 950 阅读 · 0 评论 -
hihoCoder#1037 : 数字三角形(DP)
【题目链接】:click here~~时间限制:10000ms单点时限:1000ms内存限制:256MB问题描述小Hi和小Ho在经历了螃蟹先生的任务之后被奖励了一次出国旅游的机会,于是他们来到了大洋彼岸的美国。美国人民的生活非常有意思,经常会有形形色色、奇奇怪怪的活动举办,这不,小Hi和小Ho刚刚下飞机,就赶上了当地的迷宫节活动。迷宫节里展览出来原创 2015-06-10 10:48:01 · 1079 阅读 · 0 评论 -
BestCoder Round #52 (div.2) HDU 5418 Victor and World (DP+状态压缩)
【题目链接】:click here~~【题目大意】:问题描述经过多年的努力,Victor终于考到了飞行驾照。为了庆祝这件事,他决定给自己买一架飞机然后环游世界。他会驾驶一架飞机沿着规定的航线飞行。在地球上一共有nn个国家,编号从11到nn,各个国家之间通过mm条双向航线连接,第ii条航线连接第u_iui个国家与第v_ivi个国家,通过这条航线需要消耗w_iwi原创 2015-08-22 21:55:03 · 1123 阅读 · 0 评论 -
HDU 5389 Zero Escape (MUT#8 dp优化)
【题目链接】:click here~~【题目大意】:题意:给出n个人的id,有两个门,每个门有一个标号,我们记作a和b,现在我们要将n个人分成两组,进入两个门中,使得两部分人的标号的和(迭代的求,直至变成一位数,我们姑且叫做求“和”操作~)分别等于a和b,问有多少种分法。【思路】:比赛的时候还是学弟递推的方程,当时是dp三维dp[i][j]k]:分别表示枚举到第i位,A门,B门原创 2015-08-13 22:39:41 · 824 阅读 · 0 评论 -
HDU 5396 Expression (MUT#9 区间DP)
【题意】:click here~~【题目大意】:给你一个一行包含n(2=【思路】:区间DP:先贴一下题解(感觉题解有个地方写错了):设DP[l][r]:表示区间【l,r】这段里面能形成的答案的总数。 枚举最后一步的操作k,那么对乘法:答案为DP[i,k]*DP[k+1,r],由于分配律这个会乘开来,如果是加法,那么答案就是DP[i][k]*(j-k-1)!+DP[k+1][原创 2015-08-19 14:37:08 · 825 阅读 · 0 评论 -
NYOJ 654 喜欢玩warcraft的ltl (01背包常数优化)
【题目链接】:click here~~一个常数优化前面的伪代码中有 for v=V..1,可以将这个循环的下限进行改进。由于只需要最后f[v]的值,倒推前一个物品,其实只要知道f[v-w[n]]即可。以此类推,对以第j个背包,其实只需要知道到f[v-sum{w[j..n]}]即可,即代码中的for i=1..N for v=V..0可以改成for i=1.原创 2015-09-09 09:30:14 · 1708 阅读 · 0 评论 -
【BJTU+A simple problem+异或+数位DP】
【题目描述】:题面描述求 0~n 中有多少个整数 k 满足 (2 * k) XOR (3 * k) == k, 其中 XOR 为异或操作。输入数据输入数据的第一行为一个正整数 T(T接下来的 T 行中,每行为一组测试数据,包含一个正整数 n(n输出数据对每一组输入数据,输出一行结果 ”Case #id: M” ,表示第 id 组数据的结果是原创 2017-06-01 19:58:37 · 1315 阅读 · 1 评论