----------------【数位dp】
文章平均质量分 70
liuyanfeier
acmer
展开
-
hdu 1561 (树形dp+依赖背包)
ACboy很喜欢玩一种战略游戏,在一个地图上,有N座城堡,每座城堡都有一定的宝物,在每次游戏中ACboy允许攻克M个城堡并获得里面的宝物。但由于地理位置原因,有些城堡不能直接攻克,要攻克这些城堡必须先攻克其他某一个特定的城堡。你能帮ACboy算出要获得尽量多的宝物应该攻克哪M个城堡吗? 分析: 和依赖背包有些类似,就是想要取一个值的时候要先取一个其他的值。 这个题目明显可以先根据依赖原创 2016-03-13 18:43:55 · 458 阅读 · 0 评论 -
poj2342 树形dp入门
题意: 公司要举办一次晚会,但是为了使得晚会的气氛更加活跃,每个参加晚会的人都不希望在晚会中见到他的直接上司,现在已知每个人的活跃指数和上司关系,求邀请哪些人来能使得晚会的总活跃指数最大。 分析: 毫无疑问肯定需要先建树,然后就是从这棵树里面选择一些点,当然不能暴力。我们用dp[i][0]表示不选择第i棵树,他的子数所能取得的最大值, dp[i][1]表示选取第i棵树的最大值。 然后我们原创 2016-03-05 16:00:08 · 376 阅读 · 0 评论 -
hdu 4586 概率dp
题意: 扔一个有n面的骰子,可能得到正面朝上的那个面上面的数字,有一些面比较特殊,扔到这些面上之后可能继续扔,问最终能等到的数字和的期望。 分析: 这道题目严格意义上已经不是dp了,就是一道概率分析题目。 我们假设最终的期望为ans,那么我们可以一个面一个面的分析,假设正面朝上的不是一个特殊的面,那么ans += 1/n * a[i] ; 假设是一个特殊的面朝上,那么 ans +原创 2016-03-04 19:35:14 · 305 阅读 · 0 评论 -
hdu 3853 概率dp入门
题意: 在一块r*c的棋盘上,从位置(1,1)的地方走到位置为(r,c)的地方,每走一步的代价为2,在位置(i,j)可能会走到位置(i+1,j),(i,j+1)以及(i,j),题目中给出每个点走向下一个方向的概率,求花的总代价。 分析: 一道很基础的概率dp,dp[i][j]表示的是从位置(i,j)走到(r,c)所花的代价,那么dp[r][c] = 0 , 最后要求的就是dp[1][原创 2016-03-04 17:55:10 · 377 阅读 · 0 评论 -
poj2096 概率dp入门
题意: 一个系统有s个子系统,一共会产生n中bug。某人一天可以发现一个bug,这个bug属于一个子系统,属于一个种类,每个bug属于某个子系统的概率是1/s,属于某个分类的概率是1/n,问发现n种bug并且每个子系统都发现bug的天数的期望。 分析: 简单的入门概率dp,在这之前没有做个这个类型,所以讲解也是看的网上的,这里直接贴过来。 dp[i][j]表示已经找到i种bu原创 2016-03-04 15:52:30 · 454 阅读 · 0 评论 -
hdu3555 + 2089 (数位dp入门)
hdu3555 给出数字n,要求1到n范围内所有的数字中出现连续49的数字的个数。n很大。 例如500,那么出现连续49的数字有49,149,249,349,449,490,491,942...499等15个数字。 这道题目就是明显的数位dp入门题目。 我们先预处理一下,dp[i][j]表示的是i位数字并且第i位上的数字为j所不含49的个数 #include #include原创 2016-03-02 20:00:36 · 826 阅读 · 0 评论 -
计数dp hdu 4055 Number String
嗯,什么是计数dp我也不知道,这是第一次遇见类似的题目。 题意:给一个只含‘I','D','?'三种字符的字符串,I表示当前数字大于前面的数字,D表示当前的数字小于前面一位的数字,?表示当前位既可以小于又可以大于。问1~n的排列中有多少个满足该字符串。 分析:看题意就觉得像是dp,果然是的。dp[i][j]表示的是前i个数字的排列中以数字j结尾的排列个数。 那么递推关系是什么呢。 当str原创 2016-01-03 20:20:58 · 408 阅读 · 0 评论