DP
文章平均质量分 80
漩涡梦幻
有志者,事竞成,破釜沉舟,百二秦关终属楚 。 苦心人,天不负,卧薪尝胆,三千越甲可吞吴 。
展开
-
HDU 2089 (不要62)数位DP入门
一,题意: 给定一个区间[n,m],要求求出该区间所有含4与62的数的个数。 二,解析: 这跟hdu3555,非常相似 ,介意先看hdu3555,看懂了hdu3555那么这题就是小菜令, hdu3555的详细解析在:点击打开链接 唯一不同是一个是要求包含 "49" 数的个数,一个是求不含 " 4 "和 " 62 " 数的个数,这只需要改变DFS边界就行了。 还有一个不同是两个题的区间不原创 2015-08-10 18:59:51 · 420 阅读 · 0 评论 -
poj 1191 棋盘分割 (压缩dp+记忆化搜索)
一,题意: 中文题 二,分析: 主要利用压缩dp与记忆化搜索思想 三,代码: #include #include #include #include #include using namespace std; const int Big=20000000; int Mat[10][10]; int N; int sum[10][10]; int dp[20][10][10][1原创 2015-08-20 12:11:49 · 686 阅读 · 0 评论 -
poj3254 Corn Fieldsdp 状态压缩
一,题意: 给定一个N*M的矩阵,矩阵每个格子中只可能有两个数字0,1,1表示该土地肥沃可以种草放牛。 0表示该土地不肥沃不可以种草放牛。且牛不能放在相邻的位置,问有多少种放牛的方法。 二,解析: 该题主要应用了图的位压缩成数的思想与递推的思想,即压缩dp。 三,代码: #include #include #include #include using namespace原创 2015-08-21 09:22:39 · 586 阅读 · 0 评论 -
POJ3186:Treats for the Cows 区间DP
题目链接:http://poj.org/problem?id=3186 一:题意: 给定一个序列,序列中有N个元素,我们每次都可以从序列最前面或者最后面取出一个数, 假设按照上面的方法取完所有原序列的数,形成新的序列为a1,a2,,,an,我们为这个 序列定义一个权值:W=a1 * 1 + a2 * 2 + ,,,,,+an*n。题目要求,求出最大的权值。 二,解析: dp[i][j]原创 2015-08-12 16:15:10 · 443 阅读 · 0 评论 -
hdu 2476 区间dp
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2476 一:题意: 给定你两个字符串str1与str2,str1为初始串,str2是目标串。要你将str1变成str2串, 你能做的操作只有:在str1中选取一段连续的区间将其变成全都变成同一个字母(任意一个小写字母)。 问你str1最少要经过多少次这样的操作能变成str2. 二,解析: 我原创 2015-08-16 10:24:43 · 679 阅读 · 0 评论 -
POJ 2096 Collecting Bugs 期望DP
题目链接:http://poj.org/problem?id=2096 一,题意: 一个软件有m个子系统,n种bug,有个人每一天都能在该系统中找到一个bug。 每一bug都等可能的属于n种bug中的一种,也等概率的属于m个子系统中的一个。 要求,在这个软件中找齐 n 种 bug,并且每个子系统中至少包含一个 bug 的时间的期望值(单位:天)。 二,解析: 1,我们定义dp[i][j原创 2015-08-12 14:33:21 · 364 阅读 · 0 评论 -
HDU 3853 LOOPS(期望DP)(第一篇期望dp)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3853 一:题意: 说一个叫Homura的人被困在了一个迷宫里,该迷宫是一个矩行, 矩阵的大小为R*C。 刚开始Homura 在(1,1)位置,迷宫的出口在(R,C),对于Homura 当他在每一个格子中 都可以费 2 个魔法值开启传送通道,该通道可以通向三个方向,原地,向右走一格,向下走一原创 2015-08-12 08:53:47 · 506 阅读 · 0 评论 -
hdu3586 Information Disturbing(树状DP+二分查找)
一,题意 给定 n 个敌方据点,n 个点相连构成一棵树,1 为司令部,树中每条边都有一个权值 cost 表示破坏这条边的费用。 叶子节点为前线。现要切断前线和司令部的联系,要求你截断所有叶子节点的信息通过切断树中的一些边。 每次切断边的费用不能超过上限 limit,切断所有前线与司令部联系所花费的总费用要少于 m 要求最小的 limit。 二,解析: 该题主要应用了,树状DP的建树与思原创 2015-08-11 08:17:20 · 450 阅读 · 0 评论 -
hdu 4455 Substrings dp+线段数组
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4455 一,题意: 给定一个序列ai,序列中元素个数为n。再给定一个整数w,w表示的是字串长度。 要求你求出给定序列中所有长度为w的子串中不同元素个数之和。 二,解析: 该题我们主要用:dp+线段树。 1,在这里线段数组主要用于快速求和,使得dp递推效率更高。 2,dp[i]表示区间长度为原创 2015-08-11 18:19:28 · 491 阅读 · 0 评论 -
hdu 4734 F(x) 数位DP
一,题意: 该题定义了一个函数 : F(x)=An * 2n-1 + An-1 * 2n-2 + ... + A2 * 2 + A1 * 1。 现在他给定两个数,A,B,要求你求出在区间[0,B] 有多少个x ,使得F(x) 二,解析: 该题主要应用了,数位dp的思想+记录状态dp的思想。 1,数位dp思想主要数是用数组来存储数,通过对数组每一位进行枚举(0,1,2,,,9),原创 2015-08-10 20:58:36 · 525 阅读 · 0 评论 -
HDU 3555 Bomb 数位DP
一:题意 给定一个N,要求你求出[0,N]内所有含有49的数字个数,其中N (1 二:解析 1,对于这一类数位dp,需要扫描[0,N]区间所有数的每一位,为了避免对每一个数取出每位数。我们利用数组来存储区间[0,N]的每一个数,数组的长度为N的位数 x (即最大位数) ,对于没有x位的数来说,我们在前位数面补0即可,这样我们只要扫描该最长数组,枚举数组每一位可能取的数(0,1,,,原创 2015-08-10 17:22:34 · 484 阅读 · 1 评论 -
hdu 1074 Doing Homework 压缩dp
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1074 一,题意: 给你N个课程,每一个课程由三部分组成 名字,最后期限,完成所需时间,当你完成某一个 课程在最后期限以后,会被扣分,扣的分数就是超出的的时间,并且要求当扣分相同的情况 下要以字典序输出。 二,分析: 如果不需要以字典序输出的话我们可以用0 1背包可以解决,为了解决字典序这一原创 2015-08-21 16:28:46 · 594 阅读 · 0 评论