摘要: 对回溯法的理解 回溯算法其实就是广度优先的搜索尝试过程,与广度优先不同的地方在于剪枝以及限界函数,当发现已不满足求解条件时,就沿路径“回溯”返回上一级节点,尝试别的路径。回溯法的关键就两点:1.结束条件,什么时候会结束该分支的回溯(每个分支各自独立,隔离),不然就会陷入无限循环。2.下步执行,下一步 阅读全文
posted @ 2020-12-20 11:56 唯安~ 阅读(75) 评论(0) 推荐(0) 编辑
摘要: 一、对贪心算法的理解: 贪心算法是一种对某些求最优解问题的更简单、更迅速的设计技术。贪心算法是指在对问题求解时,总是做出在当前看来是最好的选择,而不是全局最优解。一个问题的整体最优解可通过一系列局部的最优解的选择达到,并且每次的选择可以依赖以前作出的选择,但不依赖于后面要作出的选择。这就是贪心选择性 阅读全文
posted @ 2020-11-14 21:23 唯安~ 阅读(88) 评论(0) 推荐(0) 编辑
摘要: 一、题目:3-1 调递增最长子序列 1.1、递归方程式 a= max{maxnum,b[i]} (0 <= j < i || a[i] > a[j]) ; 其中maxnum表示到当前位置的前一个位置的最大值,b[i]表示到当前的最大值。 1.2、表的维度:一维表 范围:0-n 顺序:自左向右 1.3 阅读全文
posted @ 2020-11-01 02:01 唯安~ 阅读(68) 评论(0) 推荐(0) 编辑
摘要: 1.实践题目名称:7-1 最大子列和问题 2.问题描述 给定K个整数组成的序列{ N​1​​, N​2​​, ..., N​K​​ },“连续子列”被定义为{ N​i​​, N​i+1​​, ..., N​j​​ },其中 1。“最大子列和”则被定义为所有连续子列元素的和中最大者。例如给定序列{ - 阅读全文
posted @ 2020-10-03 20:37 唯安~ 阅读(102) 评论(0) 推荐(0) 编辑
摘要: 分治法思想与体会 如图,分治法顾名思义,就是分而治之,把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题通过递归的解的合并。 分治法有三个重要点 分--将问题分解为规模更小的子问题; 治--将这些规模更小的子问题逐个 阅读全文
posted @ 2020-10-03 20:01 唯安~ 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 阅读了阿里等几家的代码规范pdf,笔者认为本人的代码规范规范比较类似于腾讯的C++代码规范。 以下是笔者的随记代码: #include<iostream> using namespace std; int main(){ int m,n,temp; int a=1,b=0; cin>>m>>n; f 阅读全文
posted @ 2020-09-20 01:47 唯安~ 阅读(211) 评论(0) 推荐(0) 编辑