![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
LNP一号
每天叫醒自己的,不止阳光,还有梦想。
展开
-
【动态规划】最大子段和
动态规划之最大子段和问题问题描述:给定长度为n的整数序列,a[1...n], 求[1,n]某个子区间[i , j]使得a[i]+…+a[j]和最大.或者求出最大的这个和.例如(-2,11,-4,13,-5,2)的最大子段和为20,所求子区间为[2,4].1.穷举法枚举左右区间然后遍历该区间求解,时间复杂度O(n3)2.穷举法+前缀和在第一种方法的基础上,预处理出前缀和,在枚...原创 2020-03-07 14:51:45 · 2034 阅读 · 0 评论 -
【动态规划】最长公共子序列
最长公共子序列问题:若给定序列X={x1,x2,…,xm},则另一序列Z={z1,z2,…,zk},是X的子序列是指存在一个严格递增下标序列{i1,i2,…,ik}使得对于所有j=1,2,…,k有:zj=xij。例如,序列Z={B,C,D,B}是序列X={A,B,C,B,D,A,B}的子序列,相应的递增下标序列为{2,3,5,7}。给定2个序列X和Y,当另一序列Z既是X的子序列又是Y的子序...原创 2020-03-07 14:42:45 · 1461 阅读 · 0 评论 -
【动态规划】最短路径问题Floyd算法
Floyd算法是求加权图最短路径的经典算法之一,利用了动态规划的思想解决。算法描述最短路径问题:设有一加权图G,从G中某个顶点出发达到另一个顶点,所经过边的权值之和最小的路径,被称为最短路径。Floyd算法是解决加权图(图可以是有向也可以是无向,可以存在负权)中任意两点之间的最单路径的一种算法。基本思路:通过Floyd算法计算最短路径时,图一般采用二维数组,邻接矩阵的形式进行存...转载 2020-03-07 14:15:56 · 1078 阅读 · 0 评论 -
【动态规划】0-1 背包问题
0|1说明学习了动态规划,继续研究几个动态规划的经典问题,希望能够借此加深对动态规划的理解。在此之前,还需要说两个跟动态规划有关的理论知识。0|1最优化原理最优化原理指的最优策略具有这样的性质:不论过去状态和决策如何,对前面的决策所形成的状态而言,余下的诸决策必须构成最优策略。简单来说就是一个最优策略的子策略也是必须是最优的,而所有子问题的局部最优解将导致整个问题的全局最优。如果...转载 2020-03-07 14:09:01 · 1245 阅读 · 0 评论