首页 > 其他分享 >解题报告-论对“动态规划状态表示”的新理解

解题报告-论对“动态规划状态表示”的新理解

时间:2024-12-13 20:43:35浏览次数:4  
标签:表示 状态 解题 论对 区间 动态 dp

解题报告-论对“动态规划状态表示”的新理解

我们说动态规划状态表示的时候,一般认为它就是一句话,就表示完了,剩下的全部交给 \(dp\) 式子,推不出来再换一个状态表示。但是有些情况下,我们的状态表示是正确的,只是细节太多,在状态里写不完罢了。

看了这道题,发现题解里面都是状态表示漏了在 \(dp\) 公式里面修修补补的。这样修修补补的状态是永远修不完的,还不如看到一个漏的地方,直接回来重写状态表示,再从头开始理公式。

我现在用以上的方式把这道题理清楚:为什么这么做。

首先一个区间 \(dp\) 的状态表示:设 \(l,r\)。设 \(dp_{l,r}\) 表示区间 \([l,r]\) 的最大答案。然后一路往下推,发现了只能从子区间转移而来,没有加上任何的新东西,这样的情况肯定是漏了的,所以重来。

于是我们得到了第一个要点:当我们发现某个 \(dp\) 的转移跟题目条件毫无联系的时候,这个状态表示一定假了,所以重来。

想想漏掉了什么。首先,很明显,一个区间的问题 能从 子区间转移而来,这个是 的,但是 不完全。用类似于 \(\texttt{cdq}\) 分治的思想可以发现,答案就是左+中+右。很明显我们考虑漏了“中”,加上就对了。

于是我们得到了第二个要点:在我们状态表示的时候,一定要把状态划分为若干个集合,这样才能保证思路的清晰性。就算我们漏掉了什么,在表示集合的图上往上加就行了。这样写代码的时候,打一点看一眼草稿纸,就知道要从哪里转移,一个一个分块去做,思路清晰,代码也清晰。

综上所述,漏什么,加什么,不要在代码上直接加(修补),而是结合上漏的点在思路上重新考虑(重建)。结合昨天的,加也一定不要加重,防止不必要的去重。

标签:表示,状态,解题,论对,区间,动态,dp
From: https://www.cnblogs.com/KarmaticEnding/p/18605803

相关文章

  • 使用分页插件完成分页查询,mybatis完成多对一联表,mybatis完成一对多联表,动态sql
    1.使用分页插件完成分页查询1.引入依赖<dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper</artifactId><version>5.3.3</version></dependency>2.在mybatis.xml里面配置<plugins><!......
  • echarts 可拖拽雷达图 拖拽雷达图角标 动态改变数据
    基于echarts实现可拖拽雷达图,不管多少个角标都可以实现效果其中细节主要在于拖拽点的位置怎么来,角度以及拖拽后如何移动位置 以及如何沿着轴线拖动 不能随意拖动 直接上代码import*asechartsfrom'echarts';//importi18nfrom"@/i18n"functionshowTooltip(myC......
  • 动态规划——01背包问题
    01背包问题是一个经典的动态规划问题,虽然基础,之前做过很多遍,但是长时间不接触算法还是会忘记,故记录一下。问题定义:有 N 件物品和一个容量是V 的背包。每件物品只能使用一次。第 i 件物品的体积是 vi,价值是 wi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包......
  • 【.Net动态Web API】参数验证异常返回
    ​......
  • 【论文阅读笔记】Trajectron++:基于异构数据的动态可行轨迹预测
     原文:https://arxiv.org/pdf/2001.03093.pdfhttps://arxiv.org/pdf/2001.03093.pdf源码:StanfordASL/Trajectron-plus-plus:CodeaccompanyingtheECCV2020paper"Trajectron++:Dynamically-FeasibleTrajectoryForecastingWithHeterogeneousData"byTim......
  • 动态传递回调函数:提升代码灵活性的秘诀
    #动态传递回调函数:提升代码灵活性的秘诀在现代编程环境中,回调函数是一种强大的工具,允许开发者在程序执行过程中插入自定义逻辑。这篇文章将介绍如何动态传递回调函数,从而提升代码的灵活性和可维护性。##引言当我们构建复杂系统时,经常需要在多个代码模块之间插入监控......
  • 解题报告-论对“期望”的理解
    解题报告-论对“期望”的理解致敬传奇期望王这道题我写了\(5\)遍,每遍都没有思路,都是看题解或者自己之前的代码才写出来的。现在这里做一个这道题的总结,防止以后再出现这种情况。首先,这题看起来就很线性,但是我们不能一上来就\(f_i\)表示前\(i\)个点的分数期望,会发现很难转......
  • 转载:【AI系统】动态图与静态图转换
    从TensorFlow、PyTorch,到PaddlePaddle、MindSpore、MegEngine,主流的AI框架动静态图转换,经历了动静分离、动静结合到动静统一的发展过程。兼顾动态图易用性和静态图执行性能高效两方面优势,均具备动态图转静态图的功能,支持使用动态图编写代码,框架自动转换为静态图网络结构执行计......
  • 转载:【AI系统】动态图与静态图转换
    从TensorFlow、PyTorch,到PaddlePaddle、MindSpore、MegEngine,主流的AI框架动静态图转换,经历了动静分离、动静结合到动静统一的发展过程。兼顾动态图易用性和静态图执行性能高效两方面优势,均具备动态图转静态图的功能,支持使用动态图编写代码,框架自动转换为静态图网络结构执行计......
  • .m3u8 格式本质上是 HLS 协议中流媒体传输的播放列表文件,它定义了视频或音频流的结构
    .m3u8 格式.m3u8是一种扩展的M3U文件格式,通常用于播放列表和流媒体文件,特别是在HTTPLiveStreaming(HLS)中应用广泛。与传统的.m3u文件相比,.m3u8文件采用UTF-8编码,支持更多的国际字符,同时广泛应用于网络流媒体和现代设备中。主要特点与应用:编码格式:.m3u8 使用 ......