
DP
文章平均质量分 57
煎饼果子来一套
这个作者很懒,什么都没留下…
展开
-
hdu 1506 dp思想的应用
我们要求最大矩形面积,那么我们应该求每个矩形向两边延伸的最大长度,最坏情况为0(n),必然TLE,那么我们可以应该DP的思想,用一个数组来保存一些结果。例如,dpl【i】表示从左边过来的最长,那么我们计算dpl【i】的时候,如果左边的比自己高,那么dpl【i】=dpl【i-1】,但是可能在前面还有更多符合情况的(比i-1低但是比i高),所以我们要用i-1-dp【i-1】,继续寻找,详情看代码原创 2012-08-24 20:36:11 · 1959 阅读 · 0 评论 -
HDU 3646 DP + 二分
链接:http://acm.hdu.edu.cn/showproblem.php?pid=3646题意:你有N把武器,每把武器可以对敌人造成一定的伤害(et:攻击力500,敌人血量为200,杀死敌人,攻击力剩余300),一共有K个敌人,你有M次魔法double武器的攻击力(加倍),使用武器是有规则的:武器有两个状态,一个状态为young,一个为old,新的武器状态为young,当你用它杀死一个原创 2012-10-26 11:10:16 · 780 阅读 · 0 评论 -
HDU 4295 状态压缩dp + KMP
链接:http://acm.hdu.edu.cn/showproblem.php?pid=4295题意:给你一个字符串和他的4个子串,将这4个子串放到原串里面(可以重叠),问你最多能覆盖多少个字符,最少能覆盖多少个字符解析:网赛的时候DP还是太水了,居然不敢想这个题目,现在看下,其实这个题目还是不难的,只是不好写,用KMP预处理子串可以插入的位置,dp【i】【j】【k】表示位置i,4个字符原创 2012-11-02 19:22:30 · 915 阅读 · 0 评论 -
树形DP题集
更新。HDU 4340 Capturing a countryHDU 3586 Information Disturbing原创 2012-10-25 09:00:57 · 578 阅读 · 0 评论 -
POJ 1935 树形DP
比较好的一道树形DP,与POJ 2486 对比可以加深对树形DP的理解。题意:给你一棵树和它的根节点,然后给出一些需要遍历的点,问你遍历这些点至少需要多少时间。解析:dp【i】【0】表示从i节点出发遍历需要的点然后回到i节点,dp【i】【1】则表示不回来,状态想出来了,但是转移的时候并不像之前所做的树形DP一样,要求对于每个子节点都转移(因为有些子树中并没有要求遍历的点),这个怎么处理呢?原创 2012-10-31 11:41:48 · 759 阅读 · 0 评论 -
zoj 3644(关于最小公倍数的DP)
这个题目必须得记录一下,经典。dp【i】【j】 i表示现在在哪个点,j表示现在是第几个约数,记忆化搜索即可,做了一些题之后,发现这是个经典的设置状态方法。#include#include#include#include#define MOD 1000000007#define Max(a,b) ((a)>(b)?(a):(b))#define Min(a,b) ((a)<(b)原创 2012-10-16 21:18:00 · 806 阅读 · 0 评论 -
双塔DP---- 一类以差值为状态表示的DP
从AOJ的塔,到POJ的ferry loading,ferry loading到浙江省赛的第7题Process the Tasks,发现这三个问题都是一类比较典型的dp,有必要好好总结一下,避免以后再出现就不会了这类题目比较原始的版本是AOJ的塔问题(题目链接)题意:给你一堆积木,选择其中的某些来组成两个相同高度的塔(对于某块积木,可以放在塔1,可以放在塔2,也可以都不放),问你最大组原创 2012-09-04 21:44:58 · 1905 阅读 · 0 评论 -
记忆化搜索,poj1088
flag【i】【j】表示以现在这个位置为起点的最远能走的长度,熟悉下递归,这个题应该不难,记忆化#include#include#define Max 105#define Maxhigh 10005typedef struct { int x,y;}position;position move[4]={-1,0,0,1,1,0,0,-1};int fla原创 2012-05-22 22:58:06 · 1269 阅读 · 0 评论 -
HDU 3045 Picnic Cows(斜率优化DP)
这是个很明显的DP题目,排序之后容易想到DP方程为dp【i】 = dp【j】 + w【j + 1,i】然而4*10^5次方明显TLE,必须得优化,因为是一维的状态表示,所以四边形优化应该不可行(个人做题太少了,没见过一维的四边形优化)另外w函数和j有关,所以单调队列不可行了,只能往斜率优化想了,斜率优化证明还算容易吧,证出来之后就相当于模板了#include#incl原创 2012-10-07 12:52:41 · 1207 阅读 · 0 评论 -
CF 176B - Word Cut (dp计数)
CF的每道DP题目都能让我回味良久,太经典了!!!!!!!!题意:给两个字符串A,B,每次操作能把A分为两部分C,D,组成DC,比如A是abcdefg,abc | defg ----->defg | abc,然后指定操作次数K,问在K步之内将A转化为B的方法数。链接:http://codeforces.com/problemset/problem/176/B解析:先暴力求出循环原创 2012-10-07 20:56:59 · 946 阅读 · 0 评论 -
cf 127 div .1 Fragile Bridges(dp 好题)
这个题目有必要标记下,和hdu的最大矩形面积一样,分为两类DP,最后枚举求解链接:http://www.cppblog.com/hanfei19910905/archive/2012/06/30/180831.aspx题意:有N个点,点与点之间存在通过次数被限定的桥,每通过一次桥,能获得一分,问你最多能获得多少分(起点自己决定)解析:从左边DP一次起,右边DP一次,dpl【i】【0】从原创 2012-10-06 11:44:53 · 834 阅读 · 0 评论 -
HDU 4274 spy work (树形DP)
相对水的一道树形DP,把父子关系想清楚了就容易多了题意:给出一部分节点的信息,问你这部分信息有没有冲突。大致题意。详细自己看。解题思路:我的想法是给通过两个数组表示各个节点的上下限,如果上限小于下限,那么这是冲突的,上限==下限,表明这点的工资是确定的。 先输入各种关系,然后一遍DFS即可。我们得明白一件事,儿子只能够修改父亲的下限,不能修改父亲原创 2012-09-11 10:32:35 · 810 阅读 · 0 评论 -
ZOJ 3471 状态压缩DP
比较明显的DP,由于数据比较小(maxn==10)所以状态压缩dp直接搞#include#include#includeusing namespace std; const int maxn=1025;int dp[maxn],pow[12][12],bit_mask[15];//0表示存活,1表示死亡int main(){ int n,i,j,k,newi,ans; b原创 2012-08-28 16:58:31 · 812 阅读 · 0 评论 -
个人DP训练(基础版)
题目链接 hdu 2955 Robberies01背包,转化为求被抓的概率。 题目链接 hdu 1864 最大报销额 01背包,每张发票的总额为容量和价值,注意预处理数据,对于浮点数,向大牛cxlove学了处理(%d.%d)接收小数 题目链接 hdu 1506 Largest Rectangle in a Histogram原创 2012-08-24 16:37:53 · 1917 阅读 · 0 评论 -
poj 2609 动态规划
DP,注意单组输入,题目的进程无后效性,适合DP,由于当时没有估计出车子数量,用了滚动数组。现在来谈下DP状态的表示,比较容易想到的是DP【i】【j】【k】(现在的车子编号,队列1长度,队列2长度)明显MLE,其实我们只需要有前两维即可,因为最后一维可以从前面两维推知:k=sum【i】-j;问题转为存在性问题了,dp【i】【j】=dp【i-1】【j】|dp【i-1】【j-len原创 2012-08-27 00:13:32 · 1096 阅读 · 0 评论 -
poj 2844 多重背包
多重背包,二进制转化为01背包后可解存在性问题 dp【i】【j】=dp【i-1】【j】|dp【i-1】【j-coin【i】】;位运算#include#includeusing namespace std;const int maxn=100005;int bit_mask[30],nn;int coin[maxn],num[101],value[101];bool dp[原创 2012-08-25 00:50:12 · 694 阅读 · 0 评论 -
HDU 4433 类似于状态压缩的DP
这题卡了好几个小时,纠结,后来回想一下,其实是自己模型构建能力太弱了,想清楚的话就容易多了dp[i][j] 表示位置i,j表示i,i + 1,i + 2位置上的值,dp【i】【j】确保1-----i - 1 的位置已经一一对应,然后转移的时候就分为上和下,上的话,注意一下,第一位上升A,第二位可以上升B(B 下的话,同理,转移的话,自己看下代码,应该蛮好理解的#i原创 2012-10-28 17:26:48 · 902 阅读 · 0 评论