-
这周开始要复习加自学动态规划内容了。
今天主要回顾了一下以前学过的内容,从线性dp到区间dp,然后是四种背包。主要看了看以前的博客即当时的题目还有别人当时总结的博客,然后在洛谷上找了些题目(模板题,图的量)回顾一下相应的做法或者代码的基本套路,现在看上去尤其线性dp和区间dp好像就没那么难了,现在再做当时感觉较难的题目应该还是比较有信心了。不过当然,不是说我就已经掌握了它们了,任何知识点都能出难题,所以还真不敢说哪个算法就完全掌握了。
这次回头看一下,做这部分题目我的看法:
从解题思路或解题过程上,当然还是要抓紧关键就是状态的变化,对于线性dp找前后状态变化或者说状态转移方程时着重看最前面,中间以及最后面,当然这听起来像废话但却是必须要考虑的点,区间dp则相对而言更看重区间大小变化的中间(过程)部分,背包问题我用的有点死,就是原原本本的看题目对应背包类型,以得到状态转移方程。
从出代码,当然包括状态转移方程的建立即找到状态间的变化后提炼状态转移方程的过程,在我看来要注意的是要由a[i](我的代码一般a[]指由题目得到的原数组,原始数据)突破到dp[]中去,在做题应有意识的将答案的得到过程转移到dp[]中去,尽量拜托与a[]的关系,做简单题当然没什么感觉,在之前打cf时曾经有题目想用dp解决却总困扰于过程中a[]还会影响dp[]的值,或者说虽然大体思路可以但状态转移方程中总会有点小东西会是某种不确定因素。当然这有时候就是状态转移方程没找对(或者对状态的切入点就不好),但也有过其实只要从开始出某些方面稍微一改就可以的情况。啰里啰唆这么多其实也就是注重状态转移方程的正确性,在总结出状态转移方程的时候就要思考代码实现时会不会遇到什么问题,避免浪费时间浪费精力。
当然,还要刷些较难题更能找到不足之处。所以接下来专攻这些新算法不过题目训练难度上决定还是稍低一点,然后着重先刷一下以前知识点的难题。
上周还打了几场cf,div.2还是困在了第三题上,这虽然不会高兴但还不至于沮丧,但div.3的一场比赛我却也卡到了第三题上,这真的不怎么样,也可能是因为好长时间没打的原因吧。
我也已经加入了别人的小队了,能够被我们的总队长选择实在荣幸,我看了他们cf的做题记录明白自己还有很多差距,也知道自己不能落后,不能因为自己拖累他们。总结自己的强项就是读题,但我其实明白上大学后自己英语水平也是下降了许多,所以能够依仗的也就是对于语法的掌握,所以接下来做题所有的英文题目都注重特殊单词的积累,争取在这方面为小队做出贡献。当然,这并不是说我做好读题就完事了,他们很优秀更是给我一种动力,小队合作会有一定分工,但题目的解决还是要靠三个人一起,我也要努力的。
8月10日.周一 dp复习小结
最新推荐文章于 2024-05-30 21:04:33 发布