Route
Contact huatihui
2025-04-22 09:07:20
华体会,华体会体育,华体会体育官网,华体会靠谱吗,华体会APP(访问: hash.cyou 领取999USDT)
第三章动态规划课堂练习【数字滑雪】问题描述:你喜欢滑雪吗?肯定有许多人喜欢,因为滑雪的确刺激!可是为了获得速度,滑的区域必须向低处倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。现在的问题是:给定区域中各点的高度,想知道这个区域中最长的滑雪坡道长度。区域由一个二维数组给出。数组的每个数字代表点的高度。下面是一个例子:1 2 3 4 516 17 18 19 615 24 25 20 714 23 22 21 813 12 11 10 9你可以从某个点滑向上下左右相邻四个点之一,当且仅当高度减小(简化问题:当高度相等时无法继续滑行)。在上面的例子中,一条可滑行的滑坡为24-17-16-1。当然25-24-23-...-3-2-1更长,事实上,这是最长的一条。请叙述你算法思想,写出递推公式。【解】动态规划的算法思想:1、递推公式:设f(i,j)表示从(i,j)开始的最长滑雪道的长度,滑点只能向上、下、左或右之一行走,当(i,j)为边界外时f(i,j)皆设为0。(1)f(i,j)=0,若(i,j)为边界外(2)f(i,j)=1,若(i,j)为所有点的最低点(3)f(i,j)=max(f(i-1,j),f(i+1,j),f(i,j-1),f(i,j+1))+1,若(i,j)非最低点这里,若(i,j)可达(i-1,j)、(i+1,j)、(i,j-1)、(i,j+1)点,则f(i,j)=四个方向的f值的最大值加1;若(i,j)不可达四个方向某点或某些点,则f(i,j)=剩余可达方向的f值的最大值+12、动态规划算法的过程:(1)将高度矩阵从低到高排序;(2)按滑点从低到高依次填充f数组,f的递推关系如上。这里,若(i,j)是边界上的滑点,将涉及到麻烦的边界判断,这里实现的时候可以有这样一个技巧,在高度矩阵外加“围墙”(高度设为大整数值),且f矩阵也有“围墙”(围墙及围墙外皆设为0);(3)f(i,j)中的最大值即原题所求。3、按照如上动态规划的递推公式和填充顺序,算法完毕之后将有如下f(i,j)数值:0 0 0 0 0 0 00 1 2 3 4 5 00 16 17 18 19 6 00 15 24 25 20 7 00 14 23 22 21 8 00 13 12 11 10 9 00 0 0 0 0 0 0
搜索您想要找的内容!
地址:华体会- 华体会体育- 华体会体育官网 电话:@HASHKFK 手机:@HASHKFK
Copyright © 2012-2024 华体会体育户外滑雪培训设备有限公司 版权所有 非商用版本 ICP备案编号: