斜率dp
由P7914括号序列(A题)引发的关于区间DP的思考
和`CF149D Coloring Brackets`(B题)一样,都是关于括号的区间DP。 在B题中,有一个细节,就是在枚举断点时枚举到第一个就要`break`,这是为了使每种方案只贡献一次,防止一种方案中有多个符合条件的断点。 此题中,因为序列的字符是不变的,所以直接`break`就行了。 但是 ......
动态DP
[传送门](https://www.luogu.com.cn/problem/P4719) 简要题意:给定一棵 $n$ 个点的树,点带点权。有 $m$ 次操作,每次操作给定 $x,y$ 表示修改点 $x$ 的权值为 $y$。你需要在每次操作之后求出这棵树的最大权独立集的权值大小。 最大权独立集:选若 ......
SUB-1G SOC芯片DP4306F 32 位 ARM Cortex-M0+内核替代CMT2380F32
DP4306F是一款高性能低功耗的单片集成收发机,集成MO核MCU,工作频率可覆盖200MHiz^ 1000MHz。 支持230/408/433/470/868/915频段。该芯片集成了射频接收器、射频发射器、频率综合器、GFSK调制器、GFSK解调器等功能模块。通过SPI接口可以对输出功率、频道选 ......
斜率优化学记笔记
[例题](https://www.luogu.com.cn/problem/P3195) 考虑朴素做法: $f_i$表示把前$i$个玩具装箱所需的最小费用,$s_i$为$c_i$的前缀和,则有: $$f_i=\min\limits_{j=1}^i(f_{j-1}+(i-j+s_i-s_{j-1}-L ......
dp学习笔记
前言:因为本人 $dp$ 实在太差了,故此挖个新坑。 $dp$ 的一般套路是: * 设计状态,要注意一定要不重不漏,所有能影响到答案的数据都要包含到状态里面。 * 初始化,基本上是第一项 * 转移,要注意无后效性,面面俱到。 * 可以关注数据范围,有时候范围会给我们以提醒。 基本技巧: * 状态设计 ......
线性DP-最长上升子序列
## 概念 **最长上升子序列**是指**一个序列中最长的单调递增的子序列**,字符子序列指的是字符串中不一定连续但先后顺序一致的n个字符,即可以去掉字符串中的部分字符,但不可改变其前后顺序。 求最长上升子序列的长度可以用**线性DP**。 ## 思路 - 1.读入数据,dp[i] 代表以**第 i ......
树上DP笔记
树是一个由 $n$ 个节点,$n-1$ 条边组成的联通图,图上没有环,其每一条边都是割边。 在树上设计动态规划算法时,一般以节点**从深到浅**的顺序作为 DP 的阶段。大多数时候,采用递归的方式实现树形动态规划。 对于每一个节点 $x$,先对它的每一个子节点进行 DP,回溯时从子节点向 $x$ 进 ......
DP优化
DP 的效率取决于 $3$ 方面:1. 状态总数 2. 每个状态的决策数 3. 状态转移计算量。这三方面都可以进行优化。 1. 状态总数优化:相当于搜索的剪枝,去除无用状态;使用降维,设计 DP 状态时尽量使用低维的 DP。 1. 决策数量优化:即状态转移方程的优化,减少决策数量,如斜率优化,四边形 ......
背包DP笔记
## 背包问题 ### 01 背包问题 有 $n$ 件物品和一个容量为 $V$ 的背包,第 $i$ 件物品的体积为 $w[i]$,价值为 $v[i]$。请选择将哪些物品装入背包,使得价值总和最大。 思路:每种物品仅有一件,可以选择放或不放。令 $f[i][j]$ 表示前 $i$ 件物品放入一个容量为 ......
LeetCode 周赛上分之旅 #41 结合离散化的线性 DP 问题
> ⭐️ **本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 \[彭旭锐] 和 [BaguTree Pro](https://www.mdnice.com/writing/85b28c4e60354865a423728e668fc570) 知识星球提问。** > > 学习数据 ......
LeetCode 周赛上分之旅 #40 结合特征压缩的数位 DP 问题
> ⭐️ **本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 \[彭旭锐] 和 [BaguTree Pro](https://www.mdnice.com/writing/85b28c4e60354865a423728e668fc570) 知识星球提问。** > > 学习数据 ......
daimayuan249 | 旅行商(状压, dp, 剪枝)
不难写出转移方程, $f_{i, j}$表示此时所走过的状态pattern为i, 目前所在城市为j. 则转移方程为: $$ f_{i, j} = min\{f_{i, j}, f_{i - 2^k, k} + a_{k, j}\} $$ k为合法的前继城市, 则$i - 2^k$就是合法的前继状态( ......
P6772 [NOI2020] 美食家 题解(矩阵加速图上dp常用思路)
# P6772 [NOI2020] 美食家 题解(矩阵加速图上dp常用思路) ## 简要题面 给定一张 $n$ 个点 $m$ 条单向边的图,走这条边需要花费 $w_i$ 的时间(以天为单位),现在有一个人从 $1$ 号点出发,最后回到 $1$ 号点,要求走了 **恰好** 为 $T$ 天。 每经过一 ......
# DP 题目总结
# DP题目总结 **** ## 1、[LC1388. 3n 块披萨](https://leetcode.cn/problems/pizza-with-3n-slices/) ### 题意: - 3n的环形数组,每次取一个数后就删除前后相邻的两个数,问最后取得的总数最大是多少。 ### 分析: - ......
leetcode1372dp求交错路径长
bfd+dp unordered_map<TreeNode* ,int>d,p; queue<pair<TreeNode* ,TreeNode*>>q; int dp(TreeNode* root){ d[root]=p[root]=0; q.push({root,nullptr}); while( ......
DP 优化
今天模拟赛考到了斜率优化,我发现去年暑假听得一知半解的知识点现在要彻底搞懂了。 本文我学到哪写到哪。 # 决策单调性优化 有些状态 $a$ 比 $b$ 总是要好(譬如花费更低而收益更高),那么 $b$ 状态可以丢掉。 ## 斜率优化 *参考资料:* ### [P3195 [HNOI2008] 玩具装 ......
DP2515完全兼容MCP2515支持SPI通信的can V2.0B控制器新能源汽车通信应用
DP2515完全兼容MCP2515支持SPI通信的can V2.0B控制器新能源汽车通信应用说明DP2515 是一款独立控制器局域网络(Controller Area Network, CAN)协议控制器,完全支持 CAN V2.0B 技术规范。该器件能发送和接收标准和扩展数据顿以及远程帧。 MCP ......
dp 凸优化学习笔记
好久没系统地写一个算法相关内容的学习笔记了,主要是我学习 dp 凸优化部分有意义,有象征性的例题。 目前网上很多题解都有点讲的不明不白的感觉,很多甚至都连基本知识都没说清楚就开始 Slope Trick 了,这困扰了我许久。 我认为通过这篇文章可以比较清晰地了解 dp 凸优化的入门知识 和 Slop ......
脚本学习:%cd%和%~dp0的区别
在编写自动化脚本过程中,经常会需要获取当前目录路径。 这里有两种方式,一种是%cd%,另一种是%~dp0,那么这两种方式有什么区别呢?今天就来具体讲一讲。 具体含义 %cd%:脚本执行的当前目录,需要注意的是,这里的当前目录有可能和脚本实际所在目录不一致。 %~dp0%:脚本文件所在的目录,注意,目 ......
动态 DP - 知识点梳理
DP 用于解决多阶段性决策性问题,方法是每个阶段分开转移,各个阶段转移是独立的,不会影响到其他阶段的转移。因此,整个 DP 的过程其实就是原始数据(即边界)顺次按照阶段转移,最终成为答案。 矩阵代表着一种线性变换,矩阵的乘法其实就是变换的合成,所以我们可以将 DP 每个独立阶段的转移抽象为一个矩阵, ......
dp递推 口胡记录
dp/递推 口胡记录 ### [[SHOI2013] 超级跳马](https://www.luogu.com.cn/problem/P3990) $tag$:矩阵乘法,前缀和 暴力$dp$很显然,设$f_{i,j}$为从$(1,1)$跳到$(i,j)$的方案数,那么有$f_{i,j}= \sum \ ......
树形 dp
# 树形 dp ## 概念 - 在树上做 dp - 树形 dp 一般是从树的叶子节点向根的做 dp,也就是**自下而上**做 dp ## [树上 dp 加差分统计](https://vjudge.net/problem/CSES-1130) - 记住**差分**,在做很多树上的统计题时,都会用到 点 ......
斜率优化 dp 学习笔记
~~仍然是算导风格的学习笔记~~ 例题:[[HNOI2008] 玩具装箱](https://www.luogu.com.cn/problem/P3195) P 教授要去看奥运,但是他舍不下他的玩具,于是他决定把所有的玩具运到北京。他使用自己的压缩器进行压缩,其可以将任意物品变成一堆,再放到一种特殊的 ......
『学习笔记』插入类dp
## 概述 可以说是一个套路化问题,想出来了就非常好做。前提是你得想出来。 转移方程一般也都是特定的:设 $dp_{i, j}$ 表示往一个序列里插入了 $i$ 个数,这 $i$ 个数被分成了 $j$ 段的方案数。 初始化:$\begin{cases} dp_{1, i = 1} = 1 \\ dp ......
DP vs Non DP
多阶段决策问题又时我们会使用 DP 进行求解,但 DP 并不适合所有这类问题。 例子: > 你有 $n$ 个字母 A,$m$ 个字母 B,你可以将这些字母组成成为一个字符串, 你需要使得这个字符串的权值尽量大。现在我们以如下规则计算这个字符串的权值。 每有连续的 $a$ 个 A ,且下一个字母依旧是 ......
dp-整齐打印
整齐打印 [toc] ## 问题描述 考虑在一个打印机上整齐地打印一段文章的问题。输入的正文是n个长度分别为L1、L2、……、Ln(以字符个数度量)的单词构成的序列。我们希望将这个段落在一些行上整齐地打印出来,每行至多M个字符。“整齐度”的标准如下:如果某一行包含从i到j的单词(i`构成完整的一行或 ......
dp-双调欧几里德旅行商问题
双调欧几里德旅行商问题 [toc] 算法导论3rd - 15.3 ## 问题描述 平面上n个点,确定一条连接各点的最短闭合旅程。这个解的一般形式为NP的(在多项式时间内可以求出) J.L. Bentley 建议通过只考虑双调旅程(bitonictour)来简化问题,这种旅程即为从最左点开始,严格地从 ......
dp-摸牌博弈
摸牌博弈 ```cpp // 摸牌博弈 // 一维排列的卡牌,其上有不同的数字,两个对手A和B依次从中摸牌 // 卡牌及顺序均对两人可见 // 每次只能从最左或最右摸牌 // 最终摸到的卡牌数字之和最大者获胜 // 两个人都绝顶聪明(两人都会选择对自己有利对对手不利的牌) #include #inc ......
dp-矩阵链相乘顺序
矩阵链相乘顺序 [toc] ## 问题描述 A1,A2,..,An 表示n个矩阵的序列,其中Ai为$P_{i−1}×P_i$阶矩阵,i=1,2,...,n。 向量P=表示矩阵链的输入,其中P0是A1的行数,P1是A1的列数,P1是A2的行数,以此类推。 计算这个矩阵需要做n−1次两个矩阵的相乘运算, ......
dp-最长回文子序列
最长回文子序列 算法导论3rd - 15.2 ## 问题描述 回文:palindrome,是正序和逆序完全相同的非空字符串 一个字符串有许多子序列,可以通过删除某些字符而变成回文字符串,字符串“cabbeaf”,删掉‘c’、'e'、‘f’后剩下的子串“abba”就是回文字符串,也是其中最长的回文子序 ......