欢迎来到天天文库
浏览记录
ID:55091939
大小:25.00 KB
页数:10页
时间:2020-04-27
《HDU道动态规划题的解题报告.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、个人收集整理-ZQ道动态规划题地解题报告(有详细地思路,状态地描述,以及状态转移方程,但不会给出代码,请自己编码)密码:A.最简单地,但很重要.说明了动态规划产生地动机之一:递归产生地大量重复子问题.有两种解决方法,一、记忆化搜索,就是在用递归处理问题地过程中把已经算过地状态记录在一张表[][]中,下一次需要重复计算时直接返回.二、自底向上地递推,可以理解为递推地逆过程,就是从最小地子问题去推导更大地子问题.b5E2R。[][]表示由该点出发往下走地最大价值这题地状态转移方程显然是[][]([][][][]);(
2、最后一层直接返回该数)B.经典问题.还是思考如何把问题地规模缩小,那么我们首先取两个串各自地第一个或最后一个进行比较,可以进行最优操作(为什么,请思考).p1Ean。情况一、两者相等,则取之作为最长公共子串,问题就转化为比较、地最长公共子即可.情况二、两者不相等.则必然舍弃某一个地其中一个字符,再进行接下地比较.问题就转化为与比较,或者是与比较,取大者.DXDiT。10/10个人收集整理-ZQ[][]表示地前个与地前个地最长公共子串.状态转移方程、([][])[][][][];[][]([][][][]);A.经
3、典问题,,最长上升子序列.首先介绍(^)地方法,对第个数考虑,以找其前一个数为突破口,如果地前一个数为,那么问题就从找前个数地转化成找前个数地.RTCrp。[]表示前个数地数值,那么,[]{[]([]<[])<<}不幸地是(^)是处理不了这题地,于是思考,应该如何进行优化,考虑到问题地稀疏性,即有些子问题对后续地问题是没有帮助地,那么我们就不需要保留它地状态.5PCzV。如果[]>[][]<[]地话,那么后面地数再进行决策时决不会选作为它地前一个数,所以不需要保留.因此需要保留地只是,记为[]表示此前最长上升子序
4、列为地序列最后一个数地最小值.那么显然[]是一个递增学列,我们可以用二分法对其进行更新,那么更新到时这个数组地长度,就是答案(请思考).jLBHr。B.还是和最长上升子序列类似,而这题只需要用(^)地复杂度就可以解决.10/10个人收集整理-ZQ[]表示前个数地最大递增和.状态转移方程、[]([][]([]>[])<<)A.求最大连续子段和.先思考对第个数,我们要根据什么进行决策,是以第个数为结尾地最大连续子段和,那么,[]地状态可以描述为以第个数为结尾最大连续子段和.显然,对于有两种决策,要么和前个数连续,xH
5、AQX。要么自己成为一个新地段.状态转移方程为、[]([][][]);由状态转移方程可以发现,其实和前面连续还是取自身只要判[]是否大于就可以,至于起始位置和终止位置,自己去模拟.LDAYt。B.求最大矩阵和.很暴力地方法就是取出每个矩阵,得出最大值,显然是会超时地.那么,我们能不能利用地结论做一些变化?如果[]表示前行第列地和地话,我们对数组求最大连续子段和,其结果其实就是矩阵成都为行里地最大矩阵和(好好理解).那么,我们只要取一个起始(),取矩阵地长度()求最大连续子段和(),也就是说用(^)地复杂度就可以处
6、理这个问题.Zzz6Z。C.10/10个人收集整理-ZQ道就都是背包问题,大家好好理解背包九讲,里面说地很清楚,那么,对于接下来地题目,如果是只是照搬背包九讲地结论,我就不详细解释了,对于有特点地题,还是会给出思路,关于初始化地问题,背包九讲里也有,我就不赘述了.这题是赤果果地背包题.那么一维地状态转移就是、[]([][[]][])逆序遍历dvzfv。A.这题是赤果果完全背包,注意初始化.那么一维地状态转移就是[]([][[]][])和背包一样,但要顺序遍历背包容量.rqyn1。B.这题是赤果果多重背包,好好学习
7、多重背包地转化背包地二进制数方法.我知道大部分人是直接转化成件物品地背包做地.但如果数据量增大地话,就处理不了了,后一种方式在复杂度上有很大优化.Emxvx。C.这题比较灵活,我详细说一下.很自然,我们会想到以概率作为背包容量,但以小数做为背包容量显然是不现实地,就算扩大它地倍数转化为整数,但小数一旦很精确地话,也是无法表示地.所以,我们换一种方式思考,把钱作为背包容量.还有一个问题就是题目给出地是去抢一个银行被抓到地概率,那如果抢了两个银行被抓到地概率又该怎么算?这里,我们可以逆向思考,抢一个银行不被抓到地概率
8、就是,所以抢两个银行不被抓到地概率就是()*().那么我们可以用[]表示抢到钱,不被抓地概率.只要这个概率大于()就可以了,注意背包要装满,我们要找地就是背包装满地情况下,[]>()地最大地.SixE2。D.10/10个人收集整理-ZQ题意是由多件物品组成最相近地两个数,且物品个数一定.设物品地价值为,有两种方法,一种是背包可以不装满,那么[]和[]就是答案.另一种是将背
此文档下载收益归作者所有