题目列表

可按标题、OJ、标签和启发记录快速筛选题目解析。

共 3718 题
OJ题号标题标签难度最后更新解析
洛谷P11364
把连续编号区间的 LCA 深度转成相邻 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 状态。
动态规划树形DP建模树
提高+/省选-2026-08-09 06:46
洛谷P8935
先用一元生成函数统计普通子树的剪枝顺序,再在 1 到 x 的路径上做带“前后分配”的树形计数 DP。
动态规划树形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 维护左侧所有可转移点的最小值。
动态规划几何Li Chao Tree最短路
省选/NOI-2026-08-09 06:46
洛谷P2513
设 dp[i][j] 表示长度为 i、逆序对数为 j 的排列个数,再用插入最大值的转移和前缀和把求和优化到 O(nk)。
动态规划前缀和优化计数DP逆序对
普及2026-08-09 06:46
洛谷P1879
把每一行压成二进制状态,预处理单行合法状态后按行做状压 DP,统计所有不相邻的种草方案数。
状态压缩动态规划计数DP网格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
把完全二叉树的不完整部分压缩成“最后一个叶子到根”的一条路径,预处理满树方案数后沿这条路径自底向上递推。
树形DP动态规划完全二叉树递推
提高+/省选-2026-08-09 06:46
洛谷P3174
把路径内部点的贡献化成 deg(u)-1,将答案转成树上最大点权路径和,再在结尾补上两个端点贡献。
树形DP树树的直径推导
提高+/省选-2026-08-09 06:46
洛谷P4362
设 dp[u][j][0/1] 表示子树内选 j 个点给大头且 u 是否属于大头的最小代价,按 M=2 与 M>=3 分别判断父子边是否计入答案。
树形DP动态规划树分类讨论
提高+/省选-2026-08-09 06:46
洛谷P8744
设 dp[u] 为以 u 为根能得到的最大二叉树高度,把最深孩子放到兄弟链最后,就有转移 dp[u]=儿子数+max(dp[child])。
树形DP树动态规划递推
普及2026-08-09 06:46
洛谷P8625
设 dp[u] 表示必须包含 u 的最优连通块和,自底向上只吸收正贡献子树,就能在线性时间求树上最大连通子图和。
树形DP树动态规划建模
普及2026-08-09 06:46
洛谷P4344
在线段树中同时维护区间 1 的数量和最长连续 0,并用左优先递归把目标区间最靠前的若干个 0 填成 1。
线段树懒标记区间赋值区间最值模拟
提高+/省选-2026-08-09 06:46
洛谷P2146
把安装与卸载操作转成根到点路径设为 1、子树设为 0,再用树链剖分配合线段树维护区间赋值和区间和。
树链剖分线段树dfs序树建模
提高+/省选-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 的图,再做带父边与值域边界的记忆化搜索,分别取当前节点左右子树的最优解。
树形dp图论递归构造
提高+/省选-2026-08-09 06:46
洛谷P1269
把树定根后自底向上维护子树向上延伸的最大未截断衰减,若某个儿子子树再经过父边就会达到或超过初始强度,就必须在该儿子处安装放大器。
树树形dp贪心递归
提高+/省选-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 两个条件即可。
数论最大公约数约数python
普及-2026-08-09 06:46
洛谷P1069
把目标试管数 M=m1^m2 分解成质因子需求,再看每种细胞的分裂因子 Si 每秒能提供多少对应指数,最早时间就是这些需求的最大上取整。
数论质因数分解整除python
普及+/提高-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),避免模数不一定是质数时无法直接求逆元。
组合计数数学Catalan质因数分解线性筛
提高+/省选-2026-08-09 06:46