Route
Contact huatihui
2024-12-22 22:19:45
华体会,华体会体育,华体会体育官网,华体会靠谱吗,华体会APP(访问: hash.cyou 领取999USDT)
1、滑雪问题滑雪问题描述Michael喜欢滑雪这并不奇怪,因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michael想知道在一个区域中最长的滑坡(滑坡的长度由滑过点的个数来计算)。区域由一个二维数组给出。数组的每个数字代表点的高度。下面是一个例子一个人可以从某个点滑向上下左右相邻四个点之一,当且仅当高度减小。在上面的例子中,例如一条可滑行的滑坡为24-17-16-1。问题分析在最长路径的情况下,Ai-Ai-1-A1,它的子结构Ai-1-A0,也
2、是最优的。所以搜索中如果遇到已经路过的节点,看是否路程长度增大。若是,则该路径有可能成为解,否则直接排出可能性。所以只要保证,每个节点都经历过,便能求得解。因为不用求路径,所以每个点只用一个数字就可以记录改点是否经过,和该点的最长路程。每次DFS前找到点最高且没有经过的节点开始搜索。最后找到记录里最大的值,便是解。简化题目对于所给出的矩阵找出一条最长的递减链,满足链中相邻的两个元素间都是在矩阵中相邻的在这里我们用两种算法来解决该滑雪问题:(1)动态规划算法(2)穷举搜索算法动态规划算法基本思想动态规划的实质是分治思想和解决冗余,因此,动态规划是一种将问题实例分解为更小的、相似的子问题,并存储子
3、问题的解而避免计算重复的子问题,以解决最优化问题的算法策略。在求解过程中,该方法也是通过求解局部子问题的解达到全局最优解,但与分治法和贪心法不同的是,动态规划允许这些子问题不独立,也允许其通过自身子问题的解作出选择,该方法对每一个子问题只解一次,并将结果保存起来,避免每次碰到时都要重复计算。子问题的重叠性动态规划算法的关键在于解决冗余,这是动态规划算法的根本目的。动态规划解题思路定义dis_skij表示从点(i,j)为起点滑行的最大长度。滑行时,选择周围可以滑行的且dis_sk值最大的方向滑行。如果(i,j)的四个相邻元素都存在的话,则可以得到如下递归式:dis_skij=maxdis_ski
4、-1j,dis_skij-1,dis_ski+1j,dis_skij+1+1通过递归地计算dis_skij-1,dis_skij+1,dis_ski-1jdis_ski+1j的值,动态规划解题思路找中四个中最大的一个,即是下一步滑行的位置,以此递归,直到不能继续滑行时返回。求解过程中,每求解到一个点的最大滑行长度则保存在数组dis_skij中,因此不会重复求解同一个点的最大滑行长度。用两重循环搜索整个矩阵中dis_skij最大的点,dis_skij就是要求解的最长区域的长度。那么我们很容易写出递归的:intdis(inti,intj)for(i,j上侧,下侧,左侧,右侧)if(该位置没有越界)
搜索您想要找的内容!
地址:华体会- 华体会体育- 华体会体育官网 电话:@HASHKFK 手机:@HASHKFK
Copyright © 2012-2024 华体会体育户外滑雪培训设备有限公司 版权所有 非商用版本 ICP备案编号: