摘要: 单峰函数求极值。 取两个三等分点,如果是求极大值,那么较小的那端调整。 如果求极小值,那么较大的那端调整。 类似于爬坡过程,让离极值更远的一端爬到三等分点。 例题:P3382 三分 参考代码 #include <cstdio> const int N = 15; const double EPS = 阅读全文
posted @ 2024-12-07 10:15 RonChen 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 01 分数规划指这样一类问题,对于每个元素,有 \(a\) 和 \(b\) 两种属性,要求按规则选出一些物品后 \(\dfrac{\sum a}{\sum b}\) 最大。 这样的问题可以二分答案 \(x\),看 \(\dfrac{\sum a}{\sum b}\) 是否可能 \(\ge x\),二 阅读全文
posted @ 2024-12-07 08:20 RonChen 阅读(13) 评论(0) 推荐(0) 编辑
摘要: 定义 1:删去该点后最大子树最小的点 定义 2:删去该点后所有子树大小均不超过 n/2 的点 两个定义是等价的。如果一个点有超过 n/2 的子树,那么往这个方向走一步,其最大子树会变小。 性质: 一棵树最多有 2 个重心且相邻 重心到所有点距离和最小 可以用调整法证明(相当于换根),P2986 [U 阅读全文
posted @ 2024-11-21 21:05 RonChen 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 树形 DP 中的换根 DP 问题又被称为二次扫描,通常需要求以每个点为根时某个式子的答案。 这一类问题通常需要遍历两次树,第一次遍历先求出以某个点(如 \(1\))为根时的答案,在第二次遍历时考虑由根为 \(u\) 转化为根为 \(v\) 时答案的变化(换根)。这个变化往往分为两部分,\(v\) 子 阅读全文
posted @ 2024-11-09 08:39 RonChen 阅读(35) 评论(0) 推荐(0) 编辑
摘要: 树上的背包问题,也就是背包问题与树形 DP 的结合。 树上背包往往是设 \(dp_{u,i}\) 表示以 \(u\) 为根的子树放了体积 \(i\)(又或者是选 \(i\) 个节点)时的最优解。 进行状态转移时,依次进入每一个子节点 \(v\),处理完 \(v\) 的子树后将目前的 \(dp_{u, 阅读全文
posted @ 2024-11-08 16:17 RonChen 阅读(41) 评论(0) 推荐(0) 编辑
摘要: 最长上升子序列问题是一个经典的线性动态规划问题。 例题:B3637 最长上升子序列 分析:设原始数组为 \(a\),定义状态 \(dp_i\) 表示以 \(a_i\) 结尾的上升子序列的最大长度。注意这个状态定义中有两个重点,第一个重点是 \(dp_i\) 只维护所有原始序列中以 \(a_i\) 结 阅读全文
posted @ 2024-10-23 21:51 RonChen 阅读(37) 评论(0) 推荐(0) 编辑
摘要: A 火柴 #include <cstdio> int cnt[10] = {0, 1, 2, 3, 3, 2, 3, 4, 5, 3}; char num[10][10] = {"", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX"}; 阅读全文
posted @ 2024-10-22 18:05 RonChen 阅读(103) 评论(0) 推荐(0) 编辑
摘要: Sparse Table 可用于解决这样的问题:给出一个 \(n\) 个元素的数组 \(a_1, a_2, \cdots, a_n\),支持查询操作计算区间 \([l,r]\) 的最小值(或最大值)。这种问题被称为区间最值查询问题(Range Minimum/Maximum Query,简称 RMQ 阅读全文
posted @ 2024-10-18 20:08 RonChen 阅读(21) 评论(0) 推荐(0) 编辑
摘要: 单调栈是一种内部元素具有单调性的栈,可以解决与“以某个值为最值的最大区间”等问题。 例题:P2866 [USACO06NOV] Bad Hair Day S 有 \(N \ (1 \le N \le 80000)\) 头奶牛,第 \(i\) 头牛的身高为 \(h_i \ (1 \le h_i \le 阅读全文
posted @ 2024-10-05 08:52 RonChen 阅读(38) 评论(0) 推荐(0) 编辑
摘要: 一个整数可以被表示成若干质数的乘积。例如:\(48=2^4 \times 3, \ 49 = 7^2, \ 50 = 2 \times 5^2\)。 算术基本定理:设 \(a>1\),那么必有 \(a = p_1^{\alpha_1} p_2^{\alpha_2} \cdots p_s^{\alph 阅读全文
posted @ 2024-09-30 14:38 RonChen 阅读(42) 评论(0) 推荐(0) 编辑