zoukankan      html  css  js  c++  java
  • [挖坑] dp思想杂记

    [挖坑] dp思想杂记

    听了一中午的课,思想懂了一些,但是写代码好像不太会写。先把思想记一下,等以后有空了,来实现一波。

    这样也是为了给我一些心理安慰,让我感觉“好像”这个中午没浪费。

    TCO13 OneBlack

    首先我们拿dp套dp的思路来搞这个题,我们需要记录位置 ((i,j)) 与轮廓线上的内层dp值。但是轮廓线长度到了30,记不下,怎么办?

    我们发现这个内层dp数组,在两个障碍物之间,具有单调性,即:一定是一堆0+一堆1

    那我们对于每两个障碍之间都记一个分界点,点前(<=)是0,点后(>)是1。这个状态数,最坏情况就是障碍物一隔一的,有 (2^{m/2}) 个状态 —— 它正好能记了。这样我们的复杂度就变成 (O(nm2^{m/2})) 了。

    实现难点:尽管我们证明了状态数有限,但是,咋表示?哈希?

    TCO12 EvenPaths

    我们把 (k) 个障碍点,按拓扑序排序后,分成前一半和后一半。

    对于前一半和后一半,我们都枚举每个点是不是障碍,然后算:(0) 到它不经过障碍的方案,它到 (1) 不经过障碍的方案,然后把两边用 FWT 卷起来就行了。算一边就dp套dp的算。

    实现难点:脑子还是不太清楚,有空自己做一遍

  • 相关阅读:
    串 --- 匹配
    串 --- 匹配
    计算几何 --- 哈希优化
    哈希 --- 线性探测法
    拓扑排序 --- 反向建图
    swift学习
    CocoaPods安装教程 pod setup很慢解决方案
    Adobe Fireworks CS6 Mac破解版
    iStat for mac
    mac环境下清理系统垃圾clearMyMac 3.9 破解版
  • 原文地址:https://www.cnblogs.com/LightningUZ/p/14954140.html
Copyright © 2011-2022 走看看