dp基础小结

2 篇文章 0 订阅

kuangbin带你飞系列,基础dp

链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=68966

总共20多道题,就不一一说了

说一下学会的关键的思路

第1点:有的时候某一状态的值的得出,可能会要我们枚举已经计算过的值,一一比较取最值,但如果真的去枚举的话就会超时,这时我们可以把状态的含义设为前i项的最值,计算的时候只需要多比较一项,即和前一项比较一下就可以了。典型题目:A题和S题

第2点:有的时候我们后面的选择可能会依赖于前面的选择是什么,这样就需要把前面的选择记为一个状态,算的时候要枚举一下,多乘以一个n的复杂度,典型题目:C题

第3点:有的时候可能会发现怎么记录状态都没有办法找到转移方程,这时候可以考虑一下把结果作为一个状态,当然,这时候复杂度就与取值范围有关了,如果取值范围太大的话,还有一个办法,对于某一些题,我们可以把值进行离散化一下,就样就转成了n的复杂度了。典型题目:K题

第4点:有的题目可能给出一个n,但物体数量可能不止n,有可能是n*2,n*3,需要这n个物体进行处理一下,把假设出来的物体也算进去。典型题目:C题和M题

第5点:有的题做的时候可能要先按某种规则排序一下。典型题目:J题和S题

第6点:区间dp,区间dp可以正向进行也可以反向进行,正向和反向的一个区别就是,正向是计算i-j这一段时,两旁的还没处理,而反向则是取i-j这一段时,两旁的已经处理了。还有一个要注意的地方就是,将区间分成i-k和k-j这两段时,可能这两段取的顺序也会影响结果,多尝试一下不同的取法。典型题目:O题。顺便延伸一道题目,2014年北京区域赛的Dire Wolf。

——————————————————————————————

大清早起来去参加APP比赛,下午晚上还练车。真是累也累死了,实在刷不动题了,写写总结就好了


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值