随笔分类 -  算法整理:动态规划

摘要:关于决策单调性的整理 1.决策单调性 在动态规划中,对于类似于 \(f_i=\min_{j=1}^{i-1} f_j+cost(j,i)\) 的转移方程,假设 \(p_i\) 表示 \(i\) 的最优决策点,\(\forall i\le j\) 均有 \(p_i\le p_j\),即称 \(f\) 阅读全文
posted @ 2025-10-29 18:54 陈牧九 阅读(22) 评论(0) 推荐(0)
摘要:关于斜率优化的整理 我们先来看一道题。 HNOI2008 玩具装箱 题目描述 P 教授要去看奥运,但是他舍不下他的玩具,于是他决定把所有的玩具运到北京。他使用自己的压缩器进行压缩,其可以将任意物品变成一堆,再放到一种特殊的一维容器中。 P 教授有编号为 \(1 \cdots n\) 的 \(n\) 阅读全文
posted @ 2025-04-07 11:53 陈牧九 阅读(30) 评论(0) 推荐(0)
摘要:关于数位DP的整理 1.什么时候用数位DP解题? \(OI\ Wiki\): 数位 DP:用来解决一类特定问题,这种问题比较好辨认,一般具有这几个特征: 要求统计满足一定条件的数的数量(即,最终目的为计数); 这些条件经过转化后可以使用「数位」的思想去理解和判断; 输入会提供一个数字区间(有时也只提 阅读全文
posted @ 2025-04-06 18:49 陈牧九 阅读(37) 评论(0) 推荐(0)
摘要:关于状压DP的整理 1.什么是状压DP 状压DP,就是将DP状态压缩为一个数,用这个数的二进制来表示状态,这样既避免了超多维的状态,也避免了状态中不能出现数组的窘境。 一般来说,我们可以认为状态压缩的本质就是将多维互不干扰并且只有有/没有,去过/没去过,取过/没取过这一类非黑即白的状态压缩成一个状态 阅读全文
posted @ 2025-04-06 18:48 陈牧九 阅读(85) 评论(0) 推荐(0)
摘要:关于区间DP的整理 1.何为区间DP? 区间类动态规划是线性动态规划的扩展,它在分阶段地划分问题时,与阶段中元素出现的顺序和由前一阶段的哪些元素合并而来有很大的关系。 OI Wiki 2.区间DP的状态设计与状态转移方程 区间DP的状态设计一般比较固定, \(dp[i][j]\) 表示区间 \([i 阅读全文
posted @ 2025-04-06 18:48 陈牧九 阅读(105) 评论(0) 推荐(0)
摘要:关于概率DP的整理 1.概率DP是什么,用于解决什么问题? 所谓概率DP,是一类比较奇怪的DP,它不像其他DP,求解最值,方案或者方案的数量,而是求解某一事件的概率或者完成某一事件需要的代价的期望。 所以概率DP常用于解决概率问题和期望问题。 2.概率DP的基本形式是什么? 概率DP解决的问题分成两 阅读全文
posted @ 2025-04-06 18:46 陈牧九 阅读(214) 评论(0) 推荐(0)
摘要:关于背包DP的整理 upd:2025年2月10日 增加了不带删的尺取和线段树分治在背包问题中的应用。 目录关于背包DP的整理0.背包DP的定义1.01背包1.最值问题1.最暴力代码2.滚动数组优化空间2.计数问题1.最暴力代码2.滚动数组优化空间3.可行性问题1.最暴力代码2.滚动数组优化空间3.b 阅读全文
posted @ 2025-04-06 13:29 陈牧九 阅读(120) 评论(0) 推荐(0)