网易首页 > 网易号 > 正文 申请入驻

程序设计实习:13.4灌溉草场

0
分享至

动态规划 几个例题:

例一、最长公共子序列(POJ1458) 给出两个字符串,求出这样的一 个最长的公共子序列的长度:子序列 中的每个字符都能在两个原串中找到, 而且每个字符的先后顺序和原串中的 先后顺序一致。

活学活用 掌握递归和动态规划的思想,解决问题时灵活应用

例二、 Help Jimmy(POJ1661) "Help Jimmy" 是在下图所示的场景上 完成的游戏:

场景中包括多个长度和高度各不相同的平台。 地面是最低的平台,高度为零,长度无限。 Jimmy老鼠在时刻0从高于所有平台的某处开始下落, 它的下落速度始终为1米/秒。当Jimmy落到某个平台上 时,游戏者选择让它向左还是向右跑,它跑动的速度 也是1米/秒。当Jimmy跑到平台的边缘时,开始继续下 落。Jimmy每次下落的高度不能超过MAX米,不然就 会摔死,游戏也会结束。 设计一个程序,计算Jimmy到地面时可能的最早时间。

输入数据 第一行是测试数据的组数t(0 <= t <= 20)。每组测试数据的第一行是四 个整数N,X,Y,MAX,用空格分隔。N是平台的数目(不包括地面),X和Y是 Jimmy开始下落的位置的横竖坐标,MAX是一次下落的最大高度。接下来的N行 每行描述一个平台,包括三个整数,X1[i],X2[i]和H[i]。H[i]表示平台的 高度,X1[i]和X2[i]表示平台左右端点的横坐标。1 <= N <= 1000,-20000 <= X, X1[i], X2[i] <= 20000,0 < H[i] < Y <= 20000(i = 1..N)。所 有坐标的单位都是米。

Jimmy的大小和平台的厚度均忽略不计。如果Jimmy恰好落在某个平台的边 缘,被视为落在平台上。所有的平台均不重叠或相连。测试数据保Jimmy一定 能安全到达地面。

Jimmy跳到一块板上后,可以有两种选择,向左走,或向右走。 走到左端和走到右端所需的时间,是很容易算的。 如果我们能知道,以左端为起点到达地面的最短时间,和以右端为起点到达 地面的最短时间,那么向左走还是向右走,就很容选择了。 因此,整个问题就被分解成两个子问题,即Jimmy所在位置下方第一块板左端 为起点到地面的最短时间,和右端为起点到地面的最短时间。 这两个子问题在形式上和原问题是完全一致的。将板子从上到下从1开始进行 无重复的编号(越高的板子编号越小,高度相同的几块板子,哪块编号在前无 所谓),那么,和上面两个子问题相关的变量就只有板子的编号。

不妨认为Jimmy开始的位置是一个编号为0,长度为0的板子,假 设LeftMinTime(k)表示从k号板子左端到地面的最短时间, RightMinTime(k)表示从k号板子右端到地面的最短时间,那么, 求板子k左端点到地面的最短时间的方法如下:

上面,h(i)就代表i号板子的高度,Lx(i)就代 表i号板子左端点的横坐标,Rx(i)就代表i号板 子右端点的横坐标。那么 h(k)-h(m) 当然就是 从k号板子跳到m号板子所需要的时间,Lx(k)- Lx(m) 就是从m号板子的落脚点走到m号板子左端 点的时间,Rx(m)-Lx(k)就是从m号板子的落脚点 走到右端点所需的时间。 求RightMinTime(k)的过程类似。 不妨认为Jimmy开始的位置是一个编号为0,长 度为0的板子,那么整个问题就是要求 LeftMinTime(0)。 输入数据中,板子并没有按高度排序,所以程 序中一定要首先将板子排序。

时间复杂度: 一共 n个板子,每个左右两端的最小时间各算 一次 O(n) 找出板子一段到地面之间有那块板子,需要遍 历板子 O(n) 总的时间复杂度O(n2)

例三、最佳加法表达式:

有一个由1..9组成的数字串.问如果将m个加 号插入到这个数字串中,在各种可能形成的 表达式中,值最小的那个表达式的值是多少。

解题思路:

假定数字串长度是n,添完加号后,表达式的最后 一个加号添加在第 i 个数字后面,那么整个表达 式的最小值,就等于在前 i 个数字中插入 m – 1 个加号所能形成的最小值,加上第 i + 1到第 n 个数字所组成的数的值(i从1开始算)。

设V(m,n)表示在n个数字中插入m个加号所能形成 的表达式最小值,那么: if m = 0 V(m,n) = n个数字构成的整数 else if n < m + 1 V(m,n) = ∞ else V(m,n) = Min{ V(m-1,i) + Num(i+1,n) } ( i = m … n-1) Num(i,j)表示从第i个数字到第j个数字所组成的数。数字编号从1开始算。此操 作复杂度是O(j-i+1) 总时间复杂度:O(mn2 ) 。

例四、滑雪(百练1088) Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激。 可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底, 你不得不再次走上坡或者等待升降机来载你。 Michael想知道载一个区域中最长的滑坡。区域由一个二维数组给出。数组的每个数字 代表点的高度。下面是一个例子 1 2 3 4 5 16 17 18 19 6 15 24 25 20 7 14 23 22 21 8 13 12 11 10 9 一个人可以从某个点滑向上下左右相邻四个点之一,当且仅当高度减小。在上面的例子 中,一条可滑行的滑坡为24-17-16-1。当然25-24-23-...-3-2-1更长。事实上,这是最 长的一条。输入输入的第一行表示区域的行数R和列数C(1 <= R,C <= 100)。下面是R行, 每行有C个整数,代表高度h,0<=h<=10000。输出输出最长区域的长度。

解题思路:

L(i,j)表示从点(i,j)出发的最长滑行长度。 一个点(i,j), 如果周围没有比它低的点,L(i,j) = 1 否则 递推公式: L(i,j) 等于(i,j)周围四个点中,比(i,j)低,且L值最大的那个点 的L值,再加1 复杂度:O(n2 )

解法1) “人人为我”式递推 L(i,j)表示从点(i,j)出发的最长滑行长度。 一个点(i,j), 如果周围没有比它低的点,L(i,j) = 1 将所有点按高度从小到大排序。每个点的 L 值都初始化为1 从小到大遍历所有的点。经过一个点(i,j)时,用递推公式求L(i,j)

解法2) “我为人人”式递推 L(i,j)表示从点(i,j)出发的最长滑行长度。 一个点(i,j), 如果周围没有比它低的点,L(i,j) = 1 将所有点按高度从小到大排序。每个点的 L 值都初始化为1 从小到大遍历所有的点。经过一个点(i,j)时,要更新他周围的,比它高的点 的L值。例如: if H(i+1,j) > H(i,j) // H代表高度 L(i+1,j) = max(L(i+1,j),L(i,j)+1)

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
曝陈丽君比陈昊宇更拼原因,有使命在身,原生家庭差,不是很有钱

曝陈丽君比陈昊宇更拼原因,有使命在身,原生家庭差,不是很有钱

欢乐大意
2024-04-27 23:49:27
国际反兴奋剂机构升级调查级别,托马斯·巴赫表明立场,中国抗议

国际反兴奋剂机构升级调查级别,托马斯·巴赫表明立场,中国抗议

千丹体育
2024-04-27 18:28:32
太火爆!99.9亿元!上海豪宅再现“日光盘”

太火爆!99.9亿元!上海豪宅再现“日光盘”

中国经营报
2024-04-27 09:11:17
陈凯歌获得北京电影节终身成就奖,是整个华语电影的耻辱

陈凯歌获得北京电影节终身成就奖,是整个华语电影的耻辱

Mon巧的时尚品味
2024-04-27 16:48:36
游客行为惹怒日本当地居民,直接出手“毁掉”富士山打卡绝美景点,以后大家都没得拍

游客行为惹怒日本当地居民,直接出手“毁掉”富士山打卡绝美景点,以后大家都没得拍

日本物语
2024-04-26 21:28:56
喜讯!新增!直达北京!

喜讯!新增!直达北京!

王二哥老搞笑
2024-04-27 17:18:33
国足中场新归化强援正式到位!已提前成功入籍,就等伊万主动征召

国足中场新归化强援正式到位!已提前成功入籍,就等伊万主动征召

罗掌柜体育
2024-04-27 08:49:46
35岁失业真的很难找工作吗?网友:boss直聘上简历基本可以销号了

35岁失业真的很难找工作吗?网友:boss直聘上简历基本可以销号了

王老师日常
2024-04-26 11:13:41
赖文峰近照:抽雪茄喝5万元的酒稍显落寞,现任妻子比他小23岁

赖文峰近照:抽雪茄喝5万元的酒稍显落寞,现任妻子比他小23岁

柠檬有娱乐
2024-04-25 10:14:22
孙允珠美图363

孙允珠美图363

娱乐的小灶
2024-04-26 15:11:20
这才是军迷想要的076,瓦蓝可搭载MIG-29K还有坞舱,但076不是006

这才是军迷想要的076,瓦蓝可搭载MIG-29K还有坞舱,但076不是006

啸鹰评
2024-04-26 23:13:34
回顾:张阳畏罪自杀,刘源评价“五毒俱全,问题比郭、徐更严重”

回顾:张阳畏罪自杀,刘源评价“五毒俱全,问题比郭、徐更严重”

李姐历史
2024-04-26 09:31:58
24岁小伙约45岁大妈开房,偷拍整个过程,大妈:一辈子都会有阴影

24岁小伙约45岁大妈开房,偷拍整个过程,大妈:一辈子都会有阴影

青史录
2023-09-19 19:03:40
CBA最新消息:任骏飞伤情公布,许钟豪面临追罚,孙铭徽惹争议

CBA最新消息:任骏飞伤情公布,许钟豪面临追罚,孙铭徽惹争议

刺头体育
2024-04-27 11:43:23
1-1!87分钟绝平!曼联3分变1分,揪出头号罪人,犯错送点太致命

1-1!87分钟绝平!曼联3分变1分,揪出头号罪人,犯错送点太致命

足球狗说
2024-04-27 23:55:48
笑不活了,长城汽车董事长试乘丰田普拉多,称其没出息

笑不活了,长城汽车董事长试乘丰田普拉多,称其没出息

户外小阿隋
2024-04-27 17:45:45
主管部门警示:网约车实际时薪不足20元,不再是就业好选择

主管部门警示:网约车实际时薪不足20元,不再是就业好选择

网约车生活
2024-04-27 09:24:06
今天头条最炸裂的娱乐八卦,把我都炸懵了!李晨,杨颖,黄晓明!

今天头条最炸裂的娱乐八卦,把我都炸懵了!李晨,杨颖,黄晓明!

果实须经风雨
2024-04-27 13:26:58
大陆送“大礼”?傅昆萁访陆不一般,柯文哲预测,赵少康铁口断言

大陆送“大礼”?傅昆萁访陆不一般,柯文哲预测,赵少康铁口断言

坠入二次元的海洋
2024-04-27 17:36:54
1-0后!皇马领先14分,有望下轮夺冠,巴萨已无机会,四大皆空

1-0后!皇马领先14分,有望下轮夺冠,巴萨已无机会,四大皆空

体育知多少
2024-04-27 05:46:48
2024-04-28 01:10:44
爱你雅课
爱你雅课
科普知识,科教视频
213文章数 623关注度
往期回顾 全部

科技要闻

特斯拉这款车型刚上市几天,就上调价格

头条要闻

租车开网约车遭遇车损"套路":有人扣完押金还要倒补

头条要闻

租车开网约车遭遇车损"套路":有人扣完押金还要倒补

体育要闻

1-5!英超首支降级队诞生:11轮不胜,还丢97球,提前3轮退回英冠

娱乐要闻

金靖回应不官宣恋情结婚的原因

财经要闻

北京房价回到2016年

汽车要闻

5月上市/智能化丰富 海狮 07EV正式到店

态度原创

房产
本地
数码
教育
手机

房产要闻

海南最新房价出炉,三亚跌价最猛!

本地新闻

蛋友碰碰会空降西安!5.1山海境等你!

数码要闻

英特尔将第13、14代酷睿CPU稳定性问题归咎于主板和系统制造商

教育要闻

高三女生扶起摔倒大妈却被反咬一口,拿出监控作证后,大妈破防了

手机要闻

OPPO Find X7 白色款手机预售:配置保持不变,3899 元起

无障碍浏览 进入关怀版