题目列表
可按标题、OJ、标签和启发记录快速筛选题目解析。
| OJ | 题号 | 标题 | 标签 | 难度 | 最后更新 | 解析 |
|---|---|---|---|---|---|---|
P11364 | 把连续编号区间的 LCA 深度转成相邻 LCA 深度数组的区间最小值,再离线二分答案。 | 省选/NOI- | 2026-08-09 06:46 | |||
P11363 | 把边遍历看成线图 DFS 树计数,先算单根方案,再用树形 DP 统计关键边对的重复贡献。 | 提高+/省选- | 2026-08-09 06:46 | |||
P11362 | 用一元固定点切分变量链,相邻固定点区间用总方案减唯一强制失败链计数。 | 普及+/提高- | 2026-08-09 06:46 | |||
P11361 | 把连续可交换位置压成区间容量,分别贪心匹配同为 1 和同为 0 的最大数量。 | 提高 | 2026-08-09 06:46 | |||
P14636 | 按原价降序刻画贪心失败的关键交换对,用组合数统计坏定价方案后从 2^n 中扣除。 | 提高+/省选- | 2026-08-09 06:46 | |||
P7333 | 按 b_i 从大到小离线,把满足 a_j >= 当前阈值的位置加入有序集合,再查询环上最近活跃点距离。 | 普及+/提高- | 2026-08-09 06:46 | |||
P3823 | 按被询问到的每个 k 分开离线模拟,只维护该 k 的向后串计数;合并分裂时只更新边界附近 k-1 个起点。 | 省选/NOI- | 2026-08-09 06:46 | |||
P4503 | 枚举删除的那一位,把删掉该位后相同的字符串分到同一组,每组贡献组合数。 | 提高 | 2026-08-09 06:46 | |||
P8643 | 把所有 DNA 串拼接后按长度 k 的前缀分组,统计每个相同碱基串在各物种中的出现次数,再做组合计数。 | 提高+/省选- | 2026-08-09 06:46 | |||
P6739 | 利用插入字符只会落在中间分界线两侧之一,分别线性判断两种情况,再分类讨论唯一性。 | 普及+/提高- | 2026-08-09 06:46 | |||
P7469 | 先求每个后缀有多长前缀能作为 s 的子序列,再按后缀字典序和两两 LCP 去重统计不同字符串。 | 提高+/省选- | 2026-08-09 06:46 | |||
P2278 | 按到达事件推进时间,维护当前运行进程和等待优先队列,遇到更高优先级进程时立即抢占。 | 普及 | 2026-08-09 06:46 | |||
P8769 | 按保质期从后往前安排每天吃什么,用小根堆维护当前仍可食用的最便宜巧克力。 | 普及+/提高- | 2026-08-09 06:46 | |||
P4767 | 先预处理一段村庄只建一个邮局的代价,再做邮局数量分层 DP,并用决策单调性做分治优化。 | 提高+/省选- | 2026-08-09 06:46 | |||
P9111 | 把删点顺序转成树边定向,再做树形 DP,维护子树向根汇总权值与根向下可达点数的 Pareto 状态。 | 提高+/省选- | 2026-08-09 06:46 | |||
P8935 | 先用一元生成函数统计普通子树的剪枝顺序,再在 1 到 x 的路径上做带“前后分配”的树形计数 DP。 | 省选/NOI- | 2026-08-09 06:46 | |||
P4026 | 把每张钞票看成独立物品,做 2 维 DP:dp[a][b] 表示最终分给 Alice 金额为 a、Bob 金额为 b 时最多能保留多少张原主人不变的钞票,答案是总张数减去最多保留张数。 | 提高+/省选- | 2026-08-09 06:46 | |||
P2732 | 把最多 5 种商品的购买数量压成 base-6 状态,把优惠包和单买都当成转移,在所有合法购买状态上做最短路式动态规划。 | 提高 | 2026-08-09 06:46 | |||
P2224 | 把每个任务的选择压成 A 机器总时间这一维,设 dp[x] 表示 A 用时为 x 时 B 的最小用时,最后在所有状态里取 max(A,B) 的最小值。 | 普及+/提高- | 2026-08-09 06:46 | |||
P2497 | 把每个点看成按 x 坐标有向无环图上的一个状态,接收费用可整理成关于目标坐标 x 的直线,用 Li Chao Tree 维护左侧所有可转移点的最小值。 | 省选/NOI- | 2026-08-09 06:46 | |||
P2513 | 设 dp[i][j] 表示长度为 i、逆序对数为 j 的排列个数,再用插入最大值的转移和前缀和把求和优化到 O(nk)。 | 普及 | 2026-08-09 06:46 | |||
P1879 | 把每一行压成二进制状态,预处理单行合法状态后按行做状压 DP,统计所有不相邻的种草方案数。 | 普及+/提高- | 2026-08-09 06:46 | |||
P2831 | 枚举两只小猪反推出一条合法下凹抛物线,把每条抛物线离散成一个覆盖集合,再做最少集合覆盖的状压 DP。 | 提高+/省选- | 2026-08-09 06:46 | |||
P3052 | 设 dp[mask] 为安排完这些牛后的最优状态,状态记录最少电梯趟数以及该趟数下最后一趟电梯的最小已载重量。 | 普及 | 2026-08-09 06:46 | |||
P8687 | 把每包糖果压成一个口味集合 mask,设 dp[mask] 为覆盖这些口味所需的最少包数,做集合覆盖型状压 DP。 | 普及 | 2026-08-09 06:46 | |||
P8089 | 把完全二叉树的不完整部分压缩成“最后一个叶子到根”的一条路径,预处理满树方案数后沿这条路径自底向上递推。 | 提高+/省选- | 2026-08-09 06:46 | |||
P3174 | 把路径内部点的贡献化成 deg(u)-1,将答案转成树上最大点权路径和,再在结尾补上两个端点贡献。 | 提高+/省选- | 2026-08-09 06:46 | |||
P4362 | 设 dp[u][j][0/1] 表示子树内选 j 个点给大头且 u 是否属于大头的最小代价,按 M=2 与 M>=3 分别判断父子边是否计入答案。 | 提高+/省选- | 2026-08-09 06:46 | |||
P8744 | 设 dp[u] 为以 u 为根能得到的最大二叉树高度,把最深孩子放到兄弟链最后,就有转移 dp[u]=儿子数+max(dp[child])。 | 普及 | 2026-08-09 06:46 | |||
P8625 | 设 dp[u] 表示必须包含 u 的最优连通块和,自底向上只吸收正贡献子树,就能在线性时间求树上最大连通子图和。 | 普及 | 2026-08-09 06:46 | |||
P4344 | 在线段树中同时维护区间 1 的数量和最长连续 0,并用左优先递归把目标区间最靠前的若干个 0 填成 1。 | 提高+/省选- | 2026-08-09 06:46 | |||
P2146 | 把安装与卸载操作转成根到点路径设为 1、子树设为 0,再用树链剖分配合线段树维护区间赋值和区间和。 | 提高+/省选- | 2026-08-09 06:46 | |||
P8856 | 把城市之间的每一段铁路看成一个位置,请求对应区间 `[O,D-1]` 的整体加法,能否接单只取决于这段区间的最大占用是否超过座位数。 | 普及+/提高- | 2026-08-09 06:46 | |||
P8473 | 一次染色只能填补两个已黑点之间的空隙,因此答案等价于:两端点初始为黑,且每段初始白色空隙都被至少一个活跃操作跨过。 | 提高+/省选- | 2026-08-09 06:46 | |||
P4588 | 不要把删除操作当成模除法,而要把每次乘法看成一个位置:插入时赋值为乘数,删除时改回 1,用线段树维护全局乘积。 | 普及+/提高- | 2026-08-09 06:46 | |||
P3130 | 在线段树节点同时维护区间和与区间最小值,区间加时用同一个懒标记同步更新这两个量。 | 普及+/提高- | 2026-08-09 06:46 | |||
P2846 | 把灯的开关状态看成 0/1 数组,区间翻转时用 `区间长度 - 当前开灯数` 更新节点,再用懒标记维护整段翻转。 | 普及+/提高- | 2026-08-09 06:46 | |||
P4086 | 把每个 K 对应的剩余作业看成一个后缀,预处理后缀和与后缀最小值,就能在线性时间内求出删去最小值后的最大平均分。 | 普及- | 2026-08-09 06:46 | |||
P1531 | 用线段树维护区间最大值;查询时返回区间最大,更新时在单点位置做 `max(原值, 新值)` 的只升不降修改。 | 普及- | 2026-08-09 06:46 | |||
P2003 | 按高度从低到高处理平板,并维护每个单位小格当前最高支撑高度;每块平板左右支柱的长度就是当前高度减去对应边缘小格的最高支撑。 | 普及- | 2026-08-09 06:46 | |||
P8306 | 把所有模式串插入字典树,并在每个前缀节点记录经过它的模式串数量;查询串走到终点后的计数就是答案。 | 普及 | 2026-08-09 06:46 | |||
P3419 | 把地板看成容量为 k 的缓存,缺车且地板已满时始终淘汰未来最晚再次被请求的车,再配合下一次出现位置预处理即可得到最优答案。 | 提高 | 2026-08-09 06:46 | |||
P8980 | 前 k 轮已经能区分所有 x,当且仅当前缀询问的 lcm 等于 lcm(1..n),因此答案就是所有必需质数最高幂第一次被覆盖轮次的最大值。 | 提高+/省选- | 2026-08-09 06:46 | |||
P1267 | 先把四个面的单位三角形按立体共边关系建成度数不超过 3 的图,再做带父边与值域边界的记忆化搜索,分别取当前节点左右子树的最优解。 | 提高+/省选- | 2026-08-09 06:46 | |||
P1269 | 把树定根后自底向上维护子树向上延伸的最大未截断衰减,若某个儿子子树再经过父边就会达到或超过初始强度,就必须在该儿子处安装放大器。 | 提高+/省选- | 2026-08-09 06:46 | |||
P1268 | 利用叶子枝长公式 limb(x)=min((d(x,i)+d(x,j)-d(i,j))/2),递归删去一个叶子并累加其独有边长,最终得到整棵树的总重量。 | 普及+/提高- | 2026-08-09 06:46 | |||
P1092 | 按低位更重要的顺序给字母分配数字,每次赋值后立刻检查已经能确定的低位列是否满足进位加法,从而提前剪掉大量无效分支。 | 提高+/省选- | 2026-08-09 06:46 | |||
P1054 | 先按题目给定优先级把表达式递归下降解析成语法树,再用多组模数代值比较签名,快速判断哪些选项与题干恒等。 | 提高+/省选- | 2026-08-09 06:46 | |||
P1053 | 先判断愿望关系能否构成唯一的整环,再在正反两个环序中统计最优旋转能保留多少人不动,答案就是 n 减去这个最大值。 | 提高 | 2026-08-09 06:46 | |||
P1311 | 把右端点固定后,合法左端点只取决于是否在最近一个消费不超过 p 的客栈之前;用每种颜色的出现次数做一次线性统计即可。 | 普及 | 2026-08-09 06:46 | |||
P1072 | 由 lcm(x,b0)=b1 可知 x 只能在 b1 的约数里取值,因此枚举 b1 的所有约数,再检查 gcd 和 lcm 两个条件即可。 | 普及- | 2026-08-09 06:46 | |||
P1069 | 把目标试管数 M=m1^m2 分解成质因子需求,再看每种细胞的分裂因子 Si 每秒能提供多少对应指数,最早时间就是这些需求的最大上取整。 | 普及+/提高- | 2026-08-09 06:46 | |||
P6462 | 设最后一次补刀前塔已攻击 t 次、英雄已攻击 t 次,先用不等式定位最早可能补刀的时刻,再判断那一刻塔是否还没先杀死小兵。 | 普及 | 2026-08-09 06:46 | |||
P6476 | 把两种倍数位置按 gcd 归一化后,问题转成相邻两个较稀疏倍数之间会强制出现多少个连续稠密颜色,判定 k 是否严格大于这个上界。 | 普及 | 2026-08-09 06:46 | |||
P1609 | 先把左半边镜像成回文;若还不够大,就给中间位置进位,再重新镜像,得到严格大于原数的最小回文数。 | 普及 | 2026-08-09 06:46 | |||
P1592 | 利用与 n 互质的数按长度 n 周期重复、每段恰有 phi(n) 个的性质,先定位块号,再在 1..n 中找对应位置。 | 普及 | 2026-08-09 06:46 | |||
P1154 | 把两头奶牛落到同一厩等价为编号差是 K 的倍数,先记录所有差值,再找最小的不整除任何差值的 K。 | 普及 | 2026-08-09 06:46 | |||
P1134 | 把 1 到 n 按 5 个一组递归折叠,利用 D(n)=D(n/5)*D(n%5)*2^(n/5) mod 10 求阶乘最后一个非零数字。 | 普及 | 2026-08-09 06:46 | |||
P1023 | 把每个竞争售价转成关于税收或补贴 k 的一次严格不等式,和目标价对应约束求交集后,直接取绝对值最小的整数解。 | 普及 | 2026-08-09 06:46 | |||
P3200 | 先识别答案就是第 n 个 Catalan 数,再用质因数分解计算 C(2n,n)/(n+1),避免模数不一定是质数时无法直接求逆元。 | 提高+/省选- | 2026-08-09 06:46 |