网站开发前端和后端的区别,wordpress 招聘模块,一般做企业网站需要什么,wordpress 小程序框架文章来源#xff1a; https://blog.csdn.net/weixin_45630258/article/details/126425400 欢迎各位大佬指点、三连
一、分治
1、定义#xff1a;分治#xff0c;也就是分而治之。
它的一般步骤是#xff1a;
① 将原问题分解成若干个规模较小的子问题#xff08;子问题…文章来源 https://blog.csdn.net/weixin_45630258/article/details/126425400 欢迎各位大佬指点、三连
一、分治
1、定义分治也就是分而治之。
它的一般步骤是
① 将原问题分解成若干个规模较小的子问题子问题和原问题的结构一样只是规模不一样
② 子问题又不断分解成规模更小的子问题直到不能再分解直到可以轻易计算出子问题的解
③ 利用子问题的解推导出原问题的解 分治策略非常适合用递归 需要注意的是子问题之间是相互独立的 2、分治的应用
快速排序归并排序Karatsuba算法大数乘法 3、分治时间复杂度的计算–主定理 4、最大连续子序列和
子序列按照原序列的排序顺序从原序列取出部分元素
连续子序列按照原序列的排序顺序连续地从原序列取出部分元素 举例 原序列–2、1、–3、4、–1、2、1、–5、4 子序列可以是–2、1、1、4 还可以是4、1、4 还可以是2、1、–5、4 等等 连续子序列可以是–2、1、–3、4、–1 还可以是–3、4、–1 还可以是2、1、–5、4 等等 子串、子数组、子区间必须是连续的子序列是可以不连续的 解法分治
◼ 将序列均匀地分割成 2 个子序列
[begin , end) [begin , mid) [mid , end)mid (begin end) 1
◼ 假设 [begin , end) 的最大连续子序列和是 S[i , j) 那么它有 3 种可能
[i , j) 存在于 [begin , mid) 中同时 S[i , j) 也是 [begin , mid) 的最大连续子序列和[i , j) 存在于 [mid , end) 中同时 S[i , j) 也是 [mid , end) 的最大连续子序列和[i , j) 一部分存在于 [begin , mid) 中另一部分存在于 [mid , end) 中 [i , j) [i , mid) [mid , j)S[i , mid) max { S[k , mid) }begin ≤ k midS[mid , j) max { S[mid , k) }mid k ≤ end 对于解只在左边或者只在右边可以直接使用 递归 对于解在中间一部分在左边一部分在右边的情况 需要先 从中间mid开始统计[mid - 1, 左边某个元素] 统计出左边的最大值再从中间mid开始统计[mid, 右边某个元素] 统计出右边的最大值然后左边最大值右边最大值就是 横跨两个区域的解 如果本文对你有帮助的话记得给一乐点个赞哦感谢