• ACM北大暑期课培训第二天


      今天继续讲的动态规划 ...

      补充几个要点:

        1. 善于利用滚动数组(可减少内存,用法与计算方向有关)

        2.升维

        3.可利用一些数据结构等方法使代码更优  (比如优先队列)

        4.一般看到数值小的 (十几以内的 ) 考虑 状压 / 搜索  

        5.状压:有时,状态相当复杂,看上去需要很多空间,比如一个数组 才能表示一个状态,那么就需要对状态进行某种编码,进行 压缩表示。 ( 比如:状态和某个集合有关,集合里可以有一些元素,没有 另一些元素,那么就可以用一个整数表示该集合,每个元素 对应于一个bit,有该元素,则该bit就是1。)

    例题:3.POJ 1458 Common Subsequence

         4.OpenJ_Bailian 4152 最佳加法表达式

         5.OpenJ_Bailian 2755 神奇的口袋

         6.POJ 3624 Charm Bracelet

         7.POJ 1088 滑雪

         8.POJ 1390 Blocks

         9.POJ 2373 Dividing the Path

    状态压缩动态规划:

       10.OpenJ_Bailian 4124 海贼王之伟大航路

       11.OpenJ_Bailian 4149 课程大作业

       12.POJ 1185 炮兵阵地

  • 相关阅读:
    sql number类型和varchar2类型
    B
    E
    D
    B
    A
    第三课 选区
    第二课 新建文件与图层
    第一课 界面认识
    CSS命名规则
  • 原文地址:https://www.cnblogs.com/l999q/p/9362559.html
Copyright © 2020-2023  润新知