10 2024 档案
摘要:最长上升子序列问题是一个经典的线性动态规划问题。 例题:B3637 最长上升子序列 分析:设原始数组为 ,定义状态 表示以 结尾的上升子序列的最大长度。注意这个状态定义中有两个重点,第一个重点是 只维护所有原始序列中以 结
阅读全文
摘要: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"};
阅读全文
摘要:Sparse Table 可用于解决这样的问题:给出一个 个元素的数组 ,支持查询操作计算区间 的最小值(或最大值)。这种问题被称为区间最值查询问题(Range Minimum/Maximum Query,简称 RMQ
阅读全文
摘要:单调栈是一种内部元素具有单调性的栈,可以解决与“以某个值为最值的最大区间”等问题。 对于一个数组 ,找到每个元素前边/后边第一个比它大/小的元素。假如数组中某个元素后边第一个比它大的是 ,前边第一个比它大的是 ,则 这个区间内的最大
阅读全文