![](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 · 2020 阅读 · 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 · 1453 阅读 · 0 评论 -
【动态规划】最短路径问题Floyd算法
Floyd算法是求加权图最短路径的经典算法之一,利用了动态规划的思想解决。 算法描述 最短路径问题: 设有一加权图G,从G中某个顶点出发达到另一个顶点,所经过边的权值之和最小的路径,被称为最短路径。 Floyd算法是解决加权图(图可以是有向也可以是无向,可以存在负权)中任意两点之间的最单路径的一种算法。 基本思路: 通过Floyd算法计算最短路径时,图一般采用二维数组,邻接矩阵的形式进行存...转载 2020-03-07 14:15:56 · 1067 阅读 · 0 评论 -
【动态规划】0-1 背包问题
0|1说明 学习了动态规划,继续研究几个动态规划的经典问题,希望能够借此加深对动态规划的理解。在此之前,还需要说两个跟动态规划有关的理论知识。 0|1最优化原理 最优化原理指的最优策略具有这样的性质:不论过去状态和决策如何,对前面的决策所形成的状态而言,余下的诸决策必须构成最优策略。简单来说就是一个最优策略的子策略也是必须是最优的,而所有子问题的局部最优解将导致整个问题的全局最优。如果...转载 2020-03-07 14:09:01 · 1232 阅读 · 0 评论