Loading

摘要: 斜率优化题单 思想&定义 这块全几把是错的qwq 斜率优化就是 dp 的一种优化方式,针对转移式含有取 min、max 的 dp。 普通斜率优化的前提是决策单调性,我们先定义决策点。 决策点:可以转移给 \(dp_i\) 的点称为 \(i\) 的决策点,如例题中的 \(dp_i=\min\{dp_j 阅读全文
posted @ 2025-07-23 16:51 lajishift 阅读(14) 评论(0) 推荐(1)
摘要: 本文主要介绍 dp 优化方法——整体维护。 算法思想 整体维护的思想就是不去维护每个节点具体的 dp 值,而是将 dp 数组看成一个序列。 常见的是将二维 dp[i][j] 看成是 dp[0],dp[1],... 这样的几个序列,利用数据结构维护序列的变化。 第一步:找到要维护的对象(的数学形式) 阅读全文
posted @ 2025-07-23 16:34 lajishift 阅读(58) 评论(0) 推荐(1)
摘要: 曼哈顿路径 对于两个点 \(A(x_1,y_1),B(x_2,y_2)\),曼哈顿距离为 \(Man\_dis(A,B)=|x_1-x_2|+|y_1-y_2|\)。 根据 杂项 trick:\(|x_1-x_2| = \max(x_1-x_2,x_2-x_1)\)。 于是可以将所有的绝对值展开,得 阅读全文
posted @ 2025-07-23 12:33 lajishift 阅读(15) 评论(0) 推荐(0)
摘要: 本文主要记录一些无法归类,或者可以归到很多类的奇妙 tricks 判断因数 \(a\) 是 \(b\) 的因数等价于 \(a\) 的每个质因子次数都 \(\leq b\)。 这里可以使用高维前缀和统计。 \(a\) 是 \(b\) 的因数等价于 \(\gcd(a,b)=a\)。 可以搭配数据结构。 阅读全文
posted @ 2025-07-23 10:46 lajishift 阅读(6) 评论(0) 推荐(0)
摘要: 增量法: 例题: 一个一般的前 k 小问题。两个序列各自选择一个数,问和的第 k 小可能是多少。 将两个序列分别排序,各自选择第一个,显然这种是全局最小。考虑用这种状态作为初始状态进行拓展。 每次可以将一个序列选择数的下标 + 1,去重后放入优先队列。显然优先队列的第 k 个取出的即为答案。 例题2 阅读全文
posted @ 2025-07-23 10:02 lajishift 阅读(9) 评论(0) 推荐(0)
摘要: 本文主要介绍 dp 的一些小的技巧而不是大的方法。 状态和转移顺序 状态设计中,考虑分界线左右两侧,将一侧中的状态按照向另一侧贡献分为若干等价类,此时一个等价类就是一个状态。 可以分析状态中每一维何时有意义,找到优化方向 改变转移顺序 例题: 题面: 一个由 \(+1\),\(-1\),\(?\) 阅读全文
posted @ 2025-07-23 00:02 lajishift 阅读(7) 评论(0) 推荐(0)