
ACM_动态规划
文章平均质量分 73
tintinsnowy
这个作者很懒,什么都没留下…
展开
-
hdu 2955
题目链接:点击打开链接题目大意:抢多个银行,获利为mj,但是有风险被抓为pi;有一个概率率,就是不超过p,就是安全的分析:第一次没多想直接将pi相加,以为就是一般的01背包 。直到写代码时,才发现.... 重新分析,由于不被caught才是少数,所以从这个角度分析,(被抓住的可能太多了)。所以p 也就转化成1-p,表示最低的安全率。所以题目变成原创 2013-08-18 19:36:03 · 670 阅读 · 0 评论 -
hdu 4405 Aeroplane chess(概率dp1)
题目链接点击打开链接题目大意:如同飞行棋的玩法,问到达终点的期望步数题目分析:终于明白为什么要由后往前写了= =,如果没有飞行机会那么进行1~6的推算dp【i】=dp【i+j】/6详见代码~~#include#include#include#include#includeusing namespace std;double dp[100010];int f原创 2013-09-07 13:49:24 · 790 阅读 · 0 评论 -
BOJ 394(LIS应用)(nlogn算法)
题目链接:点击打开链接题目虽然是给的二维坐标,但是根据题目down_left和upper_right是“绝对”的上升关系所以这自然就变成了我们熟悉的LIS,由于数据量很大,所以我们只能用N(log n)的做法,使用N^2的做法请看另一篇博文点击打开链接所以以后还是都写nlogn的好了,以免T原创 2014-03-10 17:22:50 · 686 阅读 · 0 评论 -
zoj 3160(区间dp 简单)
题目链接:点击打开链接题目大意:一些人编号为(0~n-1),有些关系在某相邻两人中间,若有关系则就离开这个队列;求离开人数最多的是? 连连看的即视感,仔细分析为区间dp#include#include#include#includeint dp[305][305],queue[305],map[305][305];//MAP用于存储关系,q原创 2014-02-18 19:07:35 · 739 阅读 · 0 评论 -
poj 2127(最长公共上升子序列)
题目链接:点击打开链接题目分析:1.设主串为father【i】,子串为son【j】,dp【I】【J】表示主串以father【i】结尾和son【j】结尾的区间有当前的最大上升子列。 尽量压缩主串比如:若father【i】==son【j】,则考虑在i前的k位和j-1是不是有更优的选择,找到最大值然后+1就是dp【i】【j】原创 2014-02-18 09:53:00 · 1095 阅读 · 0 评论 -
HDU 3555 Bomb(数位DP)
题目链接:点击打开链接题目记录:记录0~n内有多少49题目分析:没有用传统的DP,不过接下来思考吧(*^__^*) ; 预处理一些不含49的数字f 【I】【J】表示第i位时数字为j时的不含49的情况 因为正面处理很麻烦,所以我们直接用反面 所以每进来一个n就分原创 2013-12-07 21:24:43 · 644 阅读 · 0 评论 -
hdu 2089(不要62)数位DP
题目链接:点击打开链接题目大意:在给定的n和m之间 不含4和62(连续)的数目题目分析:打表应该可以过,毕竟只有10^7,但是一旦大的惊人就无法保证了 参考资料:点击打开链接 需要统计区间【l , r】 可以 换成【0,r】-【0,L)! 用数组 f原创 2013-12-06 21:45:25 · 631 阅读 · 0 评论 -
hdu 2602 Bone Collector(0 1 背包简单入门)
题目链接:点击打开链接资料链接:1.点击打开链接 1.整理如下:动态规划的基本思想:将一个问题分解为子问题递归求解,且将中间结果保存以避免重复计算。通常用来求最优解,且最优解的局部也是最优的。求解过程产生多个决策序列,下一步总是依赖上一步的结果,自底向上的求解。动态规划算法可分解成从先到后的4个步骤:1. 描述一个最优解的结构,寻找子问题,对问题进行原创 2013-09-27 21:30:31 · 753 阅读 · 0 评论 -
poj 2955(Brackets)【 区间dp2】
由于最近练习所以将区间DP的专题拿出来作,感谢博主的推荐:专题地址:点击打开链接题目链接:点击打开链接题目大意:求配对的括号的最大数目题目分析:和之前的几题一样先进行预处理,最重要的是枚举长度,在移动分界点从而进行dp dp[i][i+k]=max(dp[i][i+k],dp[i][j]+dp[j+1][i+k]);代码如下,欢原创 2013-09-03 10:23:07 · 726 阅读 · 0 评论 -
poj 2342 anniversary party(树形dp入门)
题目链接:点击打开链接题目大意:给一些关系,都是上下级的关系,但是同时出现在party上就会不开心,每个人都有一个开心值,于是主板要使得party的开心值最大,则题目分析:很裸的树形dp。很不错的模板题目。用二维的dp[ i ][ 0 ],dp[ i ][ 1 】来表示来还是不来。最后算最大的max(dp[ root ][ 0 ],dp[ root ][ 1 】 )原创 2013-09-09 09:59:46 · 874 阅读 · 0 评论 -
CodeForces 245H (区间dp)
题目链接:点击打开链接题目分析:这是区间dp的模板题 通过容斥原理很容易得出结论 dp [ l ][ r ] = dp [l+1 ][ r ] + dp [ l ][ r-1 ] -dp [ l+1 ][ r-1 ]; 在用记忆化搜索的解#include#include#include原创 2013-09-02 16:15:22 · 1091 阅读 · 1 评论 -
hdu 3853(LOOPS)->概率dp2
题目链接:(oj挂了= =)题目分析:和上次一样很容易分析得到状态转移方程,从后向前写题目反思:1.一开始sab了,直接写dp[i][j]=dp[i][j] *d.self+dp[i][j+1]*d.right+dp[i+1][j]*d.down; 原来要移项 2.注意d。self==1时原创 2013-09-07 15:44:50 · 695 阅读 · 0 评论 -
poj 1651
题目链接:点击打开链接题目大意:一串数,相邻的3个数相乘,消去中间这个数,直至全部消失。求最大的结果,详见题目题目分析:由于首尾不能取走,所以枚举中间的数,然后又分为了2段#include#include#include#include#define INF 0x3f3f3f3fusing namespace std;int dp[105][105];int ma原创 2013-08-20 11:15:23 · 768 阅读 · 0 评论 -
Uva 861 (little bishop)搜索,棋盘多项式,dp
items links:点击打开链接原创 2014-04-18 10:20:57 · 899 阅读 · 0 评论