![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
笔记
weixin_46456395
这个作者很懒,什么都没留下…
展开
-
第六周总结(修正版)
一、知识总结 (1)滚动数组 二维dp只需两行或两列时,用[1][0]来轮换表示[j], [j-1],从而降低空间复杂度。 j1=1;dp[i][j11]借助是j1的值在1,0间反复换。 (2)省时输入 scanf输入比cin输入节省时间,但输入多种类型 时cin更方便。所以遇到输入量特别大时,如果 想 用cin,需要先做处理。 //代码 int main { cin.tie(0); io...原创 2020-04-05 15:54:56 · 69 阅读 · 0 评论 -
第六周总结
一、知识总结 (1)滚动数组 二维dp只需两行或两列时,用[1][0]来轮换表示[j], [j-1],从而降低空间复杂度。 j1=1;dp[i][j11]借助是j1的值在1,0间反复换。 (2)省时输入 scanf输入比cin输入节省时间,但输入多种类型 时cin更方便。所以遇到输入量特别大时,如果想 用cin,需要先做处理。 //代码 int main{ cin.tie(0); ios::sy...原创 2020-04-05 15:26:57 · 60 阅读 · 0 评论 -
第五周总结
第五周总结 一、知识总结 动态规划还没做太多,但从例题和做的几个题来看,动态规划最核心也最难的是状态转移方程的确定。开始的那一课我还认为动态规划要好好适应枚举过程,事实证明错了。动态规划常用的dp数组的每一维,每个数代表的意义都不同dp[i][j]与 dp[i-1][j]并不是简单的二维数组那样同列不同行的比较。而且目前我看到的题目都牵扯最值的问题,都要用到max,min。再有就是题目给的数极限会...原创 2020-03-29 15:29:59 · 77 阅读 · 0 评论 -
2020-03-22
第四周学习总结 一、知识总结 这周学完了贪心,贪心题目是真难,几个题搜了搜题解,居然还需要结合dp动态规划来做(欲哭无泪)! 周末就对动态规划来了点头,读dp的题目确实和贪心非常像,难怪能和在一起使用。 不过,区别还是有的。 区别:1,动态规划是分阶段求最优解的算法。 2,将复杂问题按阶段划分成子问题。贪心是确 定只操作哪个子问题。 3,枚举子问题各种可能情况,从中找出最优 解。贪心做好一个子问题...原创 2020-03-22 16:03:03 · 180 阅读 · 0 评论 -
2020-03-15
一、生成排列 头文件: #include 1:bool next_permutation(begin, end);改变区间内元素的顺序,产生下一个排列。 2:bool prev_permutation(begin, end);产生前一个排列。3:end 为最后一个元素的下一个位置4:upper_bound(begin, end, value);返回>value的...原创 2020-03-15 12:34:13 · 82 阅读 · 0 评论 -
2020-03-08
我认为递归算法困难有两点:一是对开始递归条件,和结束递归条件弄不明白。二是对返回情况的了解,有返回值和void的结束后,返回上一层是什么难以做到每层都了解,尤其是多层递归的时候。 对于贪心算法,想出每种情况是不容易的,而且每种情况的结果是否最优,只有算出结果才知道。 不过,stl类确实很方便,string方便字符串运算,queue,vector等方便解决不确定数组数目类问题...原创 2020-03-08 16:46:19 · 54 阅读 · 0 评论