• $dp$专题总结


    @

    目录

    总结

    这从国庆到今天这段时间断断续续地考了图论和(dp)的专题复习题,图论在上周结束,而(dp)在今天也终于迎来了尾声。
    因为我也被胡老师安排到学生(dp)专题复习,所以这段时间大部分都是在刷(dp)题,经过这段时间的复习,我发现了自己的一些缺点,也在改题和刷题中提升了自己,现在在这里把自己的心得总结一下。
    首先(dp)的基本题型有这几类:
    1.普通(dp):没有固定的套路,需要自己分析问题并想出dp的状态和方程。
    2.背包:物品有价值和体积,背包的体积是有限的,用有限的体积去装尽可能多的价值的物品,这就是背包问题,当然有很多分类:(01)背包,多重背包,完全背包,树上背包......
    3.树形(dp):在树上做(dp),需要考虑子树与根的关系。
    4.数位(dp):通常是求一个大范围内的满足条件的数,采用记忆化搜索的形式比较方便。
    5.计数(dp):与数学结合的(dp),通常求方案数。
    6.状压(dp):用一个数在二进制下的形式表示一个状态,一般是对状态需要很详细时使用,数据范围一般也比较小。
    7.区间(dp):当只用一个位置表示时无法转移时,考虑状态设成一个区间。
    8.期望(dp):结合了数学概率期望的(dp)
    9.(dp)优化:单调队列优化,数据结构优化,斜率优化,四边形不等式优化......
    这几天考的题目基本上覆盖了上述的所有知识点,我相对擅长的有树形dp、状压dp、单调队列优化dp,毕竟是我在主要负责这三个板块,所以复习了很多以前的题,刷了一些新题。经过这些学习,我发现,dp其实也要靠一种感觉,学语言要有语感,做题也有题感,这几天刷了很多树形dp的题,今天看到第二题我就写出了状态和方程,由此可见,刷题可以增加自己的理解,从而能够更快、更准确地写出dp状态和方程。当然我也存在一些不足,比如:没有固定套路的普通(dp)就不是很容易想出正确的做法,因为它没有固定的套路,状态的设法,转移方程千变万化,只有对(dp)的理解很深入才容易想出正解。
    要学好,也不是那么困难,(dp)的本质都是相同的,无非都是这四个特点:
    1.要去刻画最优解的结构特征。
    2.尝试递归地定义最优解的值(就是我们常说的考虑从 转移到)。
    3.计算最优解。
    4.利用计算出的信息构造一个最优解。
    看起来毫无套路,其实考察的就是对问题本质的剖析能力,今后的这段时间,再做dp题时,我也会更加地重视对问题分析的过程,自己不会的,也要找同学讨论,弄清楚他是怎样理解的题目,以及状态和方程的本质。

  • 相关阅读:
    vpp + vxlan
    vpp + frrouting
    VPP + vxlan
    dpdk: Unsupported PCI device 0x19e5:0x0200 found at PCI address 0000:05:00.0
    How-to: Build VPP FD.IO with Mellanox DPDK PMD on top CentOS 7.7 with inbox drivers.
    vpp[73384]: register_node:485: process stack: Invalid argument (errno 22)
    鲲鹏920上vpp--dpdk编译
    编译frr--python版本问题--Python-3.7.7
    安装vpp
    Go排序
  • 原文地址:https://www.cnblogs.com/hzyhome/p/11674420.html
Copyright © 2020-2023  润新知