![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Dp练习
文章平均质量分 59
catch_catch
这个作者很懒,什么都没留下…
展开
-
POJ 1458 Common Subsequence 最长公共子序列问题
题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=68966#problem/L题意:求两个字符串的最长公共子序列的长度。用dp[i][j]表示:在两个字符串中的位置,则状态转移方程为:dp[i][j]=max(max(dp[i-1][j],dp[i][j-1]),dp[i-1][j-1]+1(if(a[i]==b[j])原创 2015-05-03 16:14:17 · 461 阅读 · 0 评论 -
POJ 3616 Milking Time 排序Dp
题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=68966#problem/R题意:给定一个区间和若干个子区间,求没有重叠区间的最大和值。这题没啥说的,直接排序一下,就变成类似于紫书上所说的DAG上的最长路问题了。代码:#include#include#include#define maxn 101原创 2015-05-03 18:01:19 · 557 阅读 · 0 评论 -
POJ 3186 Treats for the Cows 简单dp
题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=68966#problem/O题意:给定一个数组,每次只能从首或位取一个数,每个数的权值为取该数的序数,求所能使所有数乘上他的权值的和值最大,并求出该最大和值。虽然说是简单dp,但是,还是百度了一下,说是枚举数组的位置,然后就很容易想到状态转移方程了。思路:用dp[i]原创 2015-05-04 16:24:01 · 658 阅读 · 0 评论 -
CSU 1592 石子归并 相邻操作Dp问题
题目链接:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1592题意:给定一堆石子,每次只能合并相邻两堆,每次的合并代价为两者石子数之和,求最后只剩下一堆时的最小合并代价。刚开始,想到的是贪心,每次合并相邻和值最小的两堆就行了,这题和 POJ 3186 Treats for the Cows以及紫书上的“最优矩阵链乘”差不多,初看看似贪原创 2015-05-04 17:05:19 · 763 阅读 · 0 评论 -
HDU 1069 Monkey and Banana Dp问题
题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=68966#problem/C题意:给定一些长方体的尺寸,数量都是无限个,然后求这写长方体能堆切成的最大高度。PS:接触面的上面必须严格小于下面的面。这题和紫书P269的巴比伦塔例题差不多,可以说是一模一样,紫书上把这种题型叫DAG上最长路。看了别人的代码AC的。思路:原创 2015-05-01 21:30:42 · 562 阅读 · 0 评论 -
XDU 易碎的鸟蛋(鹰蛋实验) Dp问题
题目链接:http://acm.xidian.edu.cn/problem.php?id=1007题意:给定鸟蛋的数目和楼层数,确定鸟蛋的硬度。这应该是一个比较经典的Dp了,看了别人朱晨光的论文,也就只能写个N^2 long N的算法了。朱晨光论文链接这篇文章让我懂了 log N的意思:鹰蛋实验自己的理解:首先题目给定的有两个变量,我们可以很容想到一个式子:dp[i][j],但原创 2015-05-01 16:15:33 · 1712 阅读 · 0 评论 -
HDU 1029 Ignatius and the Princess IV 这题有点蛋疼
题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=68966#problem/B题目没有给出每个数的大小,搞的不敢开常数数组。看到别人开个5000的计数数组就过了。。。看着N达到了999999,心想map肯定会TLE吧,MD,看到别人map也顺利AC,看来我对1s的数量级还是不太能理解啊。。。。代码:#includ原创 2015-05-01 19:22:40 · 437 阅读 · 0 评论 -
HDU 1074 Doing Homework 状压Dp
题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=68966#problem/D题意:给定各个科目的截至时间和完成该科目所需要的时间,求最小逾期值。刚开始拿到该题目,不知道思路,百度才反应过来,科目为15明显是状压Dp的标志嘛。。。。然后终于写出来了。。。好费劲啊。。。太弱了。。代码:#include原创 2015-05-02 00:18:48 · 577 阅读 · 0 评论 -
HDU 1087 Super Jumping! Jumping! Jumping! 简单Dp
题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=68966#problem/E题意:给定一个数组,然后求一个上升序列,使得该序列的和值最大。可以说就是一个最长上升子序列的问题,只是我们把维护长度变成了维护和值而已。代码:#include#include#include#define maxn 101原创 2015-05-02 00:38:07 · 404 阅读 · 0 评论 -
HDU 1003 Max Sum 最大子段和dp解题
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1003题意:给定一个数组,求最大的连续的一段和值(最大子段和)。Dp思路:用dp[i]表示以i结尾的最大最大子段和,则状态转移方程为:dp[i]=max(dp[i-1]+A[i],A[i]),这个很好理解。做了这题就可以做HDU1024的升级版最大子段和了。遗憾的是,我居然反过来了,导致HDU1原创 2015-05-07 21:04:23 · 906 阅读 · 0 评论 -
HDU 1176 免费馅饼 树上的dp
题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=68966#problem/G题意:给定一个数轴,然后在不同的时间有馅饼落在每个点上,求怎样才能是接收到的馅饼最多。树上的动态规划,看见别人这样说,也许是因为他的状态转移类似于树吧。状态转移挺简单的:当前状态只能由自己或是相邻的位置转移得到。代码:#in原创 2015-05-03 00:31:43 · 469 阅读 · 0 评论 -
HDU 1114 Piggy-Bank 背包dp
题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=68966#problem/F题意:给定不用型号的硬币(重量和面值),然后给出一定重量,求最小面值。每种硬币的数量无限。思路:既然每种硬币的数量无限,那么我们取之前与取之后硬币的状态相当于不变。既然各种硬币的型号一定,那么实际上就至于给定的重量有关了。假设当前的重量为W,那原创 2015-05-02 23:13:17 · 515 阅读 · 0 评论 -
POJ2533——Longest Ordered Subsequence
大家都说这是一个经典的题目当然不容错过。这是在[kuangbin带你飞]的简单Dp专题提交的。 代码:#include#include#includeusing namespace std;int dp[1010];int a[1010];int N;int main(){ while(cin>>N && N) { for(int原创 2015-02-15 15:47:01 · 468 阅读 · 0 评论 -
hdu-1160:FatMouse's Speed
同样,此题由于是在[kuangbin带你飞]的专题提交的,给出其所在专题链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=68966#problem/J此题是讲,给定一定数量老鼠的体重及其速度,求满足要求的最长序列,类似于求最长上升序列一样,只是判断条件变成了二维的,还有多了一个打印路径,其他差不多。 错点:”you原创 2015-02-15 19:21:57 · 451 阅读 · 0 评论 -
hdu—1260:Tickets
此题目讲的是一定的人排队买票,给出每个人买票所需要的时间,和这个人与前一个人一起买票需要的时间,求全部人买完票所需要的最小时间。由于此题是在[kuangbin带你飞]专题上提交的,所以给出其所在的专题链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=68966#problem/H思路:显然,此题的各种时间已经给出,则最小的原创 2015-02-15 17:10:47 · 491 阅读 · 0 评论 -
杭电2059——龟兔赛跑
#include#include#include#includeusing namespace std;int L,N,C,T,p[110];int vr,v1,v2;double dp[110];int main(){ while(cin>>L && L) { cin>>N>>C>>T; cin>>vr>>v1>>v2;原创 2015-02-14 23:53:46 · 1585 阅读 · 0 评论 -
hdu(5179):beautiful number
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5179 这是BestCode上的题目,但是比赛时,只有思路,却写不出来,当然,对于我来讲,能够知道用Dp来做这种思路就是一大满足了。赛后看题解,说是最多有1299个解,可以先打印出来。擦,当时我已经推出最多有1299个解了,可咋就没想到打印呢,反正解又不多!! 代码及详解:原创 2015-03-02 13:18:36 · 440 阅读 · 0 评论 -
Max Sum Plus Plus 最大子段和 经典 Dp
kuangbin专题链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=68966#problem/A题意:最大m子段问题:求给定无交叉的区间数目,求出最大和值。看到,n达到1000000,心里第一想法就是只能是一维Dp问题,可是,在推导的状态转移公式时,还得用二维Dp思想。看到网上的算法时间复杂度为O(mn),看来m不是很原创 2015-03-26 20:29:28 · 708 阅读 · 0 评论 -
hdu 3001 Travelling 三进制状压Dp
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3001附上一个写的 比较容易理解的链接:http://blog.sina.com.cn/s/blog_6ec19c780100ydws.html题意:给定几个城市间的旅游费用,求把每个城市至少遍历一遍,且至多两遍的情况下的至少花费。否则输出-1。代码写出来之后,会发现和二进制状压Dp差不多,原创 2015-04-12 21:25:59 · 495 阅读 · 0 评论 -
UVA 11054 Wine trading in Gergovia (酒的交易问题)
题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=21418紫书P237的例题8--5。英文没看。题意:紫书上用的是动态处理,内存几乎为零。不过,我没那么强,还是用自己方式写吧。用dp[i]表示i为最后一个的需求量。则状态转移方程为:dp[i]=dp[i+1]+A[i]。实质就是价值的转移。即紫书说的价值转换。原创 2015-05-08 13:28:06 · 550 阅读 · 0 评论 -
UVA 11572 Unique Snowflakes(最长无重复元素问题) 用dp思路
题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=25998题意:给定一个数组,求最长的一个连续的子序列,使得该序列中没有重复的元素。紫书上用了两种方法,一种是:滑动窗口,还有一种,我就把叫做Dp吧。这里采用的是dp思路:用dp[i]表示以i为结尾的最长连续且没有重复元素的子序列的长度,则状态转移方程为:d原创 2015-05-08 14:02:01 · 588 阅读 · 0 评论 -
A^X mod P 山东省赛,打表求解
给一个链接:http://acm.upc.edu.cn/problem.php?id=2219就是给一个公式,求冪取余。拿到则这个题的时候,感觉挺简单的,n的范围是10^6,而qmod的复杂度为log2 N=30左右,所以,应该不会TLE吧,可惜还是TLE了。看来1s只能处理10^6的数量级的复杂度了,10^7就会TLE了。反正我是想不到这种方法了。因为我以为, 时间复杂度已经到达极限原创 2015-04-06 20:51:06 · 1546 阅读 · 0 评论