[挖坑] dp思想杂记

 


[挖坑] dp思想杂记

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

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

TCO13 OneBlack

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

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

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

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

TCO12 EvenPaths

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

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

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

posted @   Flandre-Zhu  阅读(94)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示