![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
笔记
Heaven_Soul
这个作者很懒,什么都没留下…
展开
-
5.16周总结
刷题总结 在经历了一周的刷题,有以下感受: 1.背包问题大都都有固定的模板,所以做题之前一定要先审题,我自己总结成四步:(1)找到题目的条件(通过题中给出的物品及其他的数量来判断背包类型)(2)找到题目的目的(让我们求什么)(3)根据题意建立相应的背包方程(01背包的倒序,完全背包的正序等等等等都是解题的模板)(4)将其他代码根据题意补全(我觉得这一步才是最难的,见2) 2.(1)要根据题意进行相对应的数据初始化,这里才是最仁者见仁智者见智的地方,比如Y题:如果一开始,就把dp[i]全部初始化为0的话就没法原创 2021-05-17 08:33:21 · 82 阅读 · 0 评论 -
4月25日学习记录--区间DP,背包
先说说这一周的感想吧,第一感觉就是时间紧任务重难度大,可能是我对区间DP的把握程度太低,这一周连课上学习的例题都没有很完全的把握,军训期间也只能抽时间重新去理解课件上的例题,当然简单的DP例题,尤其是老师讲过的内容还是可以找到思路的。这周最大的收获可能就是可以比较快速和准确的别人的代码,而且在看别人的代码时,有时也会突发奇想的想到一些属于自己的解题思路,这可能是我这周最大的收获了。五一假期回家,也会有一个更加安静的坏境,一定会趁这个机会,努力再进步一把。 区间DP 主观感觉上,区间DP要比线性DP简单一点,原创 2021-04-26 00:51:35 · 180 阅读 · 0 评论 -
线性DP
dp与贪心相似的是都在求一个"最"值的问题,区别是贪心可以将数据根据问题进行一个特定排序,然后遍历得最优解;而dp的数据多不能进行排序,而是用一个递归和递推的思想从而得到问题的最优解。 dp的核心是状态和状态转移方程(一个带有递归思想的方程式,多用max找到两者中最大的那一个)。当问题出现多种情况时,如:偶数时间时加上当前值,奇数时间时减去当前值,会用二维dp记录其中的值;当出现对多组数据求共值时,如:LCS问题 ,也会用相应维数的dp数组进行值得记录。做题时,要考虑回溯到上一个状态,上上个状态,只要搞明白原创 2021-04-10 19:14:06 · 287 阅读 · 0 评论 -
学习总结之贪心算法收尾
在长达三周的学习中,贪心算法进入了最后的收尾阶段,我也有了很多收获和教训。 1.固执的认为自己的思路是完美的。在解题时,总会以为自己的贪心策略是完美的,例如:在做搬桌子题时,我认为对结束的房间为偶数的房间做一次自减操作就可以避免对门冲突的问题,这样确实可以通过很多案例,但对于某些情况会导致上一个终止位置和下一个起始位置产生冲突,导致错误。老师说了一句让我很受用的话:尽量确定好贪心标准,一旦错了,重写要比修改简单的多。在确认自己的思路的代码实现没有细节错误时,及时更换思路才是最好的解决方案。 2.不能更模式化原创 2021-03-28 09:28:40 · 111 阅读 · 0 评论 -
第三周----贪心算法
贪心算法 贪心算法是考虑局部最优解,通过最优解的叠加从而得到全局最优解,而在运用贪心算法时要主要考虑两个问题:1.该题能否运用贪心算法 2.贪心算法的标准是什么。运用贪心算法以后,还要考虑和检验一下是否真的为最优解(通过自己代值检验) 而在具体的解决问题时,要熟练运用STL和算法,一般会用sort算法对结构体数组进行排序以达到想要的结果(sort算法会自定义一个bool类型cmp函数,来自定义排序标准) 如果在题目中要求使用多组测试数据输入,c语言写法:while(scanf("%d",&N)!=E原创 2021-03-20 12:12:46 · 170 阅读 · 0 评论