动态规划
文章平均质量分 68
Human_CK
这个作者很懒,什么都没留下…
展开
-
2011大连赛区网络赛 HDOJ
【HDU4001】Problem Address:http://acm.hdu.edu.cn/showproblem.php?pid=4001【思路】DP。按长和宽从小到大、d值从大道小排序。dp[i] = max(block[i].c原创 2011-09-04 18:07:46 · 821 阅读 · 0 评论 -
GDUFS1127 Forgotten Password DP
Problem Address:http://cstfs.gdufs.edu.cn:8080/JudgeOnline/problem.jsp?id=1127【前言】学校OJ比赛的一道题。貌似是USACO上面来的。比赛时候想着字典树、AC自动机、再者加上DP什么的。赛后看了几眼代码,老师说是DP,趁着解题报告还没出来把它A了。【思路】由于单原创 2012-03-18 23:36:41 · 796 阅读 · 0 评论 -
LIS (nlogn解法)
最长递增子序列nlogn解法: int a[maxn+5];int find(int s, int t, int v)//binary_search{ int mid; while(s<=t) { mid = (s+t)>>1; if (v>a[mid]) s = mid + 1;原创 2011-11-05 16:39:19 · 687 阅读 · 0 评论 -
最大全1子矩阵 DP
【题意】给定一个01矩阵,求其最大的全1子矩阵。【思路】DP。【HDU1506】Problem Address:http://acm.hdu.edu.cn/showproblem.php?pid=1506这道题可以转为为求一维数组里相应的最大值。首先用两个数组L[ ], R[ ]分别记录某个点左边和右边比它本身大的范围。原创 2011-11-23 11:33:50 · 1768 阅读 · 0 评论 -
POJ1700 Crossing River DP
Problem Address:http://poj.org/problem?id=1700【思路】dp是O(n)的复杂度。从后往前推,对于每一个人,可以单独一个人过去(此时需要用耗时最小的那个人一起过去,之后那个人自己回来),或者和前一个人一原创 2011-08-30 12:19:16 · 598 阅读 · 0 评论 -
POJ1260 Pearls DP
Problem Address:http://poj.org/problem?id=1260【思路】转移方程:dp[i] = min(dp[i-k]+(a[i-k+1]+a[i-k+2]+...+a[i]+10)*p[i]),1dp[0] = 0。原创 2011-08-13 17:36:54 · 524 阅读 · 0 评论 -
HDU2191 多重背包 三种解法
Problem Address:http://acm.hdu.edu.cn/showproblem.php?pid=2191【思路】普通的多重背包。多重背包有原创 2011-08-12 16:26:30 · 860 阅读 · 0 评论 -
POJ1080 Human Gene Functions DP
Problem Address:http://poj.org/problem?id=1080【思路】一道LCS的变形。设空格为0,A为1,C为2,G为3,T为4。状态转移方程:dp[i][j] = max(dp[i-1][j-1]+value[a[原创 2011-08-12 23:08:15 · 899 阅读 · 1 评论 -
POJ3267 The Cow Lexicon DP
Problem Address:http://poj.org/problem?id=3267【思路】一道动态规划的题目。dp[i]表示对于message的第i位,需要删除的最小字符数。对于dp[i],枚举字典里的每个单词,从该点往前匹配,查询是否可原创 2011-08-12 18:39:25 · 501 阅读 · 0 评论 -
HDU3449 Consumer 变种背包,还是背包
Problem Address:http://acm.hdu.edu.cn/showproblem.php?pid=3449【思路】这道变种的背包其实不是很难理解。对于一个箱子,有买和不买的区别,要注意的是买了箱子的话是要花费钱的。所以要设定两个数原创 2011-08-11 17:04:24 · 618 阅读 · 0 评论 -
HDU3535 AreYouBusy 混合分组背包
Problem Address:http://acm.hdu.edu.cn/showproblem.php?pid=3535【思路】这是一道分组背包的题目。s分别取0、1、2时代表三种不同的背包。只要对不同类型的背包进行不同的dp,则可得到结果。原创 2011-08-11 15:53:42 · 646 阅读 · 0 评论 -
HDU2639 Bone Collector II 背包K优解
Problem Address:http://acm.hdu.edu.cn/showproblem.php?pid=2639【思路】背包K优解是指背包解的第K最值。跟普通背包的思路差不多,不同的是多了个维护K个最值。所以复杂度为O(nvk),其中n原创 2011-08-11 10:50:45 · 610 阅读 · 0 评论 -
POJ3345 Bribing FIPA 树形DP
Problem Address:http://poj.org/problem?id=3345【前言】前面的两篇都是把树转化为二叉树计算,虽然简单,但是不是很直观。这份代码是直接用邻接表做。用vector记录邻接的边。然后对每个结点直接进行背包。原创 2011-08-10 17:27:16 · 778 阅读 · 0 评论 -
HDU1561 The more,The better 树形DP
Problem Address:http://acm.hdu.edu.cn/showproblem.php?pid=1561【思路】树形DP,可以采用一般的记忆化搜索,也可以根据树的后序遍历进行DP。可以直接对树进行DP,也可以将其转化为二叉树再进行D原创 2011-08-08 18:31:03 · 570 阅读 · 0 评论 -
POJ1947 Rebuilding Roads 树形DP
Problem Address:http://poj.org/problem?id=1947【前言】 何谓“树形DP”?简单地说树形DP就是在树上进行的DP。 按我的理解,”树形DP“应该叫做“树维DP”。这么说,最简单的D原创 2011-08-08 16:29:20 · 596 阅读 · 0 评论 -
HDU1134 Game of Connections 高精度+DP
Problem Address:http://acm.hdu.edu.cn/showproblem.php?pid=1134【思路】dp状态转移:dp[i] = sum(dp[j]*dp[i-1-j]) [0加上高精度乘法和加法。【代码】代码又颓了= =看来得准备一个高精度的模板啊!#include using namespace s原创 2012-04-14 11:16:39 · 831 阅读 · 0 评论