摘要: 对回溯法的理解: 回溯法本质就是深搜,对所有可能的结果进行搜索匹配,由于很多情况下结果很多,就需要进行适当的剪枝和分界限制来加快得到解。 回溯法用的最多的就是递归,其实也可用递推,但是递归比较符合人类逻辑 。 回溯法的解题通常是有模板的: Void backtrack() { If(到达边界) {输 阅读全文
posted @ 2019-12-18 10:18 johnson_25 阅读(920) 评论(0) 推荐(0) 编辑
摘要: 贪心算法: 就是在整个问题中,可以通过不断地求解相同子问题的最优解,最后达到问题的最优解。 一般的套路就是:通过不断求最大(小)值来达到目的,或者最晚,最早,用时最短…….等等。 汽车加油问题的贪心选择性质: 每次都假设车开到用完所有的油再加,就是最优解。可能出现在半路没油的情况,那么就让其在距离其 阅读全文
posted @ 2019-11-25 00:33 johnson_25 阅读(71) 评论(0) 推荐(0) 编辑
摘要: 题目: 给定n位正整数a,去掉其中任意k≤n 个数字后,剩下的数字按原次序排列组成一个新 的正整数。对于给定的n位正整数a和正整数 k,设计一个算法找出剩下数字组成的新数最 小的删数方案。 输入: 第 1 行是1 个正整数 a。第 2 行是正整数k 输出: 输出最小数。 输入样例: 178543 4 阅读全文
posted @ 2019-11-19 09:06 johnson_25 阅读(85) 评论(0) 推荐(0) 编辑
摘要: 动态规划概念: 就是将一个问题不断的缩小,缩小到子问题,然后得出子问题的解,再有子问题的解求出父问题的解,一步一步最终得到答案。 动态规划的核心:求解递推表达式 动态规划与贪心法的区别: 可以说贪心法是动态规划的一种特例,贪心是每次取得最优值,再用这个值进行下一步计算,而动态规划多了一部回溯,即我当 阅读全文
posted @ 2019-11-03 23:49 johnson_25 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 思路:将三角形存在一个二维数组中,然后从倒数第二层往上,每次寻找下一层到此层的最大值,记录在dp【i】【j】 中,一层一层填表,最后dp[[1][1]就是最大值 代码: #include<iostream> #include<string.h> #include<algorithm> using n 阅读全文
posted @ 2019-10-23 00:29 johnson_25 阅读(107) 评论(0) 推荐(0) 编辑
摘要: 分治算法体会: 分治算法的概念: 所谓分治就是将一大问题,分解成一个一个小问题,而这些小问题的合并解得到局部问题的解,最后层层合并,最终得到问题的解。每个子问题都是相同的(解决思路是一致的),才能用分治; 分治有时候用于缩小所需查找的数值范围 常见的使用分治的算法: 何时使用: 分治的时间复杂度一般 阅读全文
posted @ 2019-10-10 10:26 johnson_25 阅读(604) 评论(0) 推荐(0) 编辑
摘要: 1. 题目: 已知有两个等长的非降序序列S1, S2, 设计函数求S1与S2并集的中位数。有序序列 A0, A1, … ,AN−1的中位数指A(N−1)/2的值,即第⌊(N+1)/2⌋个数(A​ 0为第1个数) 输入格式: 输入分三行。第一行给出序列的公共长度N(0<N≤100000),随后每行输入 阅读全文
posted @ 2019-09-21 21:54 johnson_25 阅读(359) 评论(0) 推荐(0) 编辑
摘要: 1.C++代码规范: (Googled代码规范): https://zh-google-styleguide.readthedocs.io/en/latest/contents/ 2. <<数学之美>>读后感: 在读这本书之前,自己对于自然语言处理的理解,一直是囿于语言学的思维中,如如何实现词义的上 阅读全文
posted @ 2019-09-01 22:43 johnson_25 阅读(127) 评论(0) 推荐(0) 编辑
摘要: I. 目前学习的薄弱知识点有哪些: 1 字符数组和字符串数组的区别:经常分不清字符数组和字符串数组的初始化。 2 动态二维数组的申请:在写acm题的时候,有时候会经常使用二维数组,但是每次使用输入:int **p = new int [n][10]的时候,总会会报错(报:不能开创10个整型长度的空间 阅读全文
posted @ 2018-12-07 23:21 johnson_25 阅读(717) 评论(0) 推荐(0) 编辑
摘要: Q1: 学习《C++语言程序设计》课程之前,你知道什么是编程吗?谈谈上这门课之前你对编程的理解,以及你对自己编程能力的评估: A1: 在课程之前我简单的学过python,并跟着教材上的材料试着做了个小游戏,在那时候我觉得编程是用计算机的写一些软件开发游戏等等; 上这门课之前我对编程的理解就是把一个现 阅读全文
posted @ 2018-10-04 23:34 johnson_25 阅读(138) 评论(1) 推荐(0) 编辑