DP
kkk033
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
数位dp&&树形dp
数位dp 数位dp常用的思想就是从高位往低位考虑,考虑区间问题时搞前缀和之差,题目的形式多变在于取数的规则,在数据比较大时需要结合字符串的一些算法进行处理(好吧AC自动机都不会不配写这种题) ...原创 2021-11-09 22:29:48 · 275 阅读 · 0 评论 -
玄学dp(雾
Atcoder上的ABC210中的D题 题目大意:给定一个H*W的地图然后,每个Aij都赋予一个权值,给定一个常数C, 从Aij到Ai`j`的花费是cost=Aij+Ai`j`+C*绝对距离 现在要建立两个站点然后在两个站点之间修路,求最小的花费。 思路:(dp的玄学内容来了) 先建立一个前提,第一个站点的建立一定在第二个站点的左边(上下需要分开讨论,这里举例用的是下) 将整个问题分解为两步实现, 第一步:假设第一个站点已经建好求当前在Aij最小的花费,方程是: dp[i][j]=min(a原创 2021-07-18 16:00:57 · 212 阅读 · 0 评论 -
单调队列优化dp 单调队列优化多重背包
单调队列的应用:查询定区间的最小值或者最大值,相对于RMQ来说是线性级别的算法。 单纯的单调队列实现起来就那两行,相当简单,比较复杂的是用单调队列的定区间查询功能优化dp以及其他算法。 单调队列优化dp的典型例子: 单调队列优化多重背包。 完成这个优化的前提是要对状态转移方程进行一定的变换,这里面包含的思维过程往往比单调队列本身复杂得多。 单调队列优化的多重背包复杂度:O(nm) 考虑把O(c )的转移压缩为O(1) 变形: a=j/w[i] b=j%w[i] j=b+aw[i] 思路:承重为j时原创 2021-05-09 21:53:46 · 301 阅读 · 0 评论 -
区间dp及平行四边形优化
dp[i][j]=dp[i][k]+dp[k+1][j]+cost[i][j] 这是区间dp最常见最普通的转移方程 平行四边形优化的证明步骤: 1、证明cost()函数为凸 2、证明dp()为凸 3、证明决策单调性,即s[i][j-1]<=s[i][j]<=s[i+1][j](似乎只要满足四边形不等式的都满足决策单调性) 不同题型内的证法都不同。 如果花费函数满足区间包含单调性和四边形不等式,那么dp就满足四边形不等式;如果dp满足四边形不等式,那么s(i,j)决策函数就满足决策单原创 2021-03-05 22:16:42 · 305 阅读 · 0 评论
分享