摘要:
回溯法的理解 基本思想: 构建问题的解空间树,在其解空间树中,从根节点出发,进行深度优先搜索。在搜索过程中,对解空间 树的每个结点进行判断,判断该结点是否包含问题的解,若肯定不包含,则跳过对以该结点为根的子树的 搜索,逐层向其祖先结点回溯。否则,则进入该子树,继续按深度优先策略搜索。 步骤: 1、针 阅读全文
摘要:
一、贪心算法的理解 贪心算法又称之为贪婪算法,在考虑问题时,总是做出在当前状况来说最好的算则,而不从整理来考虑。从某种意义上说是局部最优解,贪心算法所得到的答案并不一定是整体最优解,所以在使用贪心算法一定要考虑清楚,是否能使用贪心算法。选择的贪心策略必须具有无后效性,即当前选择的结果必须不能对之前的 阅读全文
摘要:
一、实践题目 二、问题描述 通过合理地选择安排程序,使长度一定磁带上存储尽可能多的程序,求最多可以存储的程序数。 三、算法描述 贪心策略就是要优先选长度更短的程序。 证明:三个程序长度分别为a,b,c,其中a>b>c; (1)如果a>=b+c那么我们肯定是不选a,而是去选b和c。 (2)如果a<b+ 阅读全文
摘要:
动态规划算法的理解: 一、含义 动态规划:多阶段(两段)最优化决策解决问题的过程就称为动态规划。 二、基本步骤 1、描述优解的结构特征。 2、递归地定义一个最优解的值。 3、自底向上计算一个最优解的值。 4、从已计算的信息中构造一个最优解。 三、何时采用动态规划 (1) 最优化原理:问题的最优解包含 阅读全文
摘要:
第一题: 题目描述: 算法描述: 很显然这道题我们要用动态规划来做。我们需要动态的求出每个往下走能的得到的最大的和。 我们用一个dp【】数组来记录每个位置上能取到的最大的和,数组a【】为这个位置上本身的值。 很显然,从顶点开始(设顶点为1)我们比较与它相连的两个点(设为2,3)的dp【2】,dp【3 阅读全文
摘要:
一。 分治法的思想体会。 分治法的设计思想:将一个难以直接解决的大问题,分割成一些规模较小的相同问题,以便各个击破,分而治之。 凡治众如治寡,分数是也。——孙子兵法 1.基本思想 (1) 将求解的较大规模的问题分割成k个更小规模的子问题。 (2) 对这k个子问题分别求解。如果子问题的规模仍然不够小, 阅读全文
摘要:
题目: 7-3 两个有序序列的中位数 (20 分) 题目: 7-3 两个有序序列的中位数 (20 分) 题目: 7-3 两个有序序列的中位数 (20 分) 已知有两个等长的非降序序列S1, S2, 设计函数求S1与S2并集的中位数。有序序列A0,A1,⋯,AN−1的中位数指A(N 阅读全文
摘要:
代码规范:https://blog.csdn.net/voidccc/article/details/37599203 读《数学之美》有感 在第一次课被老师安利了《数学之美》这本书,一开始听到书名感觉挺荒谬的后来浅浅阅读了一下确实感觉到了一丝数学的美。但也许是数学本身确实很美只是我们以前缺少发现美的 阅读全文
摘要:
题目: 题目大意:计算A+B并且输出解题思路:按题目要求编写代码,难度系数0正确代码: 1 #include<iostream> 2 using namespace std; 3 int main(){ 4 int a,b; 5 cin>>a>>b; 6 cout<<a+b<<endl; 7 ret 阅读全文
摘要:
首先,为了在我们的程序中使用string类型,我们必须包含头文件 。 然后我们就可以有一些基本操作。 string str:生成空字符串 string s(str):生成字符串为str的复制品,也可以理解为类似于int型的赋初值 string s(str, strbegin,strlen):将字符串 阅读全文