题目列表

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

共 1203 题
OJ题号标题标签难度最后更新解析
洛谷P1984
证明每杯水在第一次烧开前最多只值得被预热到 50 度,于是总温度增量是 100 加上其余 n-1 杯各 50。
思维推导构造数学
普及+/提高-2026-10-07 10:45
洛谷P3496
先判图中是否有孤立点;若没有,就对每个连通块的生成树二染色,直接构造两个互不重叠的覆盖方案。
图论构造bfs思维
普及+/提高-2026-10-07 10:45
洛谷P1363
在模板范围内搜索,并记录每个模格子第一次对应的绝对坐标;若同一模格子被不同绝对坐标到达,就能无限走远。
BFS图论网格周期python
普及+/提高-2026-10-07 10:45
洛谷P1126
把机器人所在格点和朝向一起作为状态做 BFS,并预处理中心能否站在某个格点。
bfs最短路图论网格模拟
普及+/提高-2026-10-07 10:45
洛谷P9588
把每次插入的 1..x 压成一个块,只维护块前缀删除量;第 z 个元素和最大值都转成块级查询。
数据结构模拟队列二分
普及+/提高-2026-10-07 10:45
洛谷P4343
阈值 n 固定时顺着日志模拟能 AC 的题数,它随 n 单调不增,因此二分出所有满足 count(n)=k 的整数区间。
二分模拟思维
普及+/提高-2026-10-07 10:45
洛谷P4536
把问题拆成沿三条边分别递归找邻居:父内能直接找到就替换末位,否则沿同向边递归向父三角形外查。
递归模拟图形思维
普及+/提高-2026-10-07 10:45
洛谷P1542
二分最大速度,给定速度后顺着维护每个地点可行签收时间区间的下界,线性判断是否能按时送完。
二分贪心数学模拟
普及2026-10-07 10:45
洛谷P8590
固定 m 时最优加数只会是前缀全加 1、后缀全加 m,再把每个位置对所有 m 的正增量独立求和。
数学推导计数思维
提高+/省选-2026-10-07 10:45
洛谷P2671
把三元组化成同颜色同奇偶的端点对,再按颜色和奇偶分组维护四个历史统计量线性求和。
数学计数推导模拟noippython
普及+/提高-2026-10-07 10:45
洛谷P1016
按距离排序后做站点贪心:若前方有更便宜站就只买到够到它,否则当前站加满并去可达范围内最低价站。
贪心模拟noip
普及2026-10-07 10:45
洛谷P3952
用栈维护循环嵌套、死循环深度和当前有效幂次,线性扫描判断语法并求真实复杂度。
模拟栈推导noip
普及+/提高-2026-10-07 10:45
洛谷P2119
固定差值 q,把四元组化成左右两类值对,再用前缀累计和后缀累计统计四种位置贡献。
数学计数枚举推导noip
普及+/提高-2026-10-07 10:45
洛谷P9975
先由最终连续感染段反推全局最多传播了多少晚,再把每段连续 1 按单个初始感染点最多覆盖的长度分组计数。
思维字符串贪心
普及2026-10-07 10:45
洛谷P1638
用双指针维护一个覆盖全部画家编号的最短区间;右端扩张凑齐种类,左端尽量收缩。
双指针滑动窗口思维python
普及-2026-10-07 10:45
洛谷P3173
把横切和竖切代价分别降序排序,每次优先切当前代价更大的那一刀,让大的代价尽量在乘数更小的时候付出。
贪心排序思维
普及+/提高-2026-10-07 10:45
洛谷P1114
把一种性别记成 +1、另一种记成 -1,问题就转成最长和为 0 的子数组;记录每个前缀和第一次出现的位置即可。
前缀和思维枚举
普及-2026-10-07 10:45
洛谷P8873
先求出第 i 段长度前缀和为 (i+1)(2i+1),二分定位 k 落在哪一段,再按段内位置分段计算数值。
二分数学思维模拟
普及2026-10-07 10:45
洛谷P7076
先用现有动物的按位或找出已出现过的二进制位,再把仍会引入新饲料的位置并成危险位,最后按自由位数量直接计数。
位运算二进制计数思维
普及+/提高-2026-10-07 10:45
洛谷P1199
把每个武将所在行的次大默契值看成他起手后能保住的最强搭档,再取所有次大值的最大者;同时用高边构成匹配证明小涵一定能赢。
思维博弈图论构造最大次大值
普及2026-10-07 10:45
洛谷P1056
把每一对会说话的同学映射到唯一的一条横缝或竖缝,分别统计每条缝的贡献次数后,各自取前 K 条和前 L 条即可。
贪心排序统计思维
普及-2026-10-07 10:45
洛谷P1025
把数字 1..n 看成可重复使用的物品,按数字大小做组合计数版完全背包,用 dp[sum][cnt] 统计和与份数。
动态规划完全背包组合计数整数划分
普及2026-10-07 10:45
洛谷P1976
固定一个点后枚举它与谁配对,这条线会把圆拆成左右两个互不相交的子问题,于是得到标准 Catalan 递推。
动态规划递推组合计数数学Catalan
普及2026-10-07 10:45
洛谷P1044
把操作过程抽象成还未入栈数量和当前栈大小,用记忆化搜索统计合法 push/pop 序列。
动态规划记忆化搜索栈python
普及-2026-10-07 10:45
洛谷P1722
把红筹和黑筹分别看成左括号与右括号,用前缀差值 dp[i][bal] 统计合法前缀数量,再用高精度加法保存第 n 个 Catalan 数。
动态规划高精度组合计数递推数学
普及-2026-10-07 10:45
洛谷P5505
先把每种特产独立看成隔板法分配,再对空同学集合做容斥,枚举有多少人没分到东西并扣掉这些不合法方案。
容斥组合计数数学推导隔板法
提高+/省选-2026-10-07 10:45
洛谷P6076
把空行、空列、缺失颜色都当成坏事件做三重容斥,固定保留行列和可用颜色数后,每个剩余格子独立贡献 avail 种选择。
容斥组合计数数学推导网格
提高+/省选-2026-10-07 10:45
洛谷P6162
先写出原题的 O(nk) 计数 DP,再把状态改写成第二类 Stirling 数,最后用满射计数的容斥公式在线性预处理后求出 S(n,n-k)。
组合计数容斥数学推导动态规划
提高+/省选-2026-10-07 10:45
洛谷P5664
先算每种做法任选或不选的总方案数,再按食材枚举严格多数者,用差值 DP 统计坏方案并从总数中扣掉。
动态规划容斥组合计数计数dp思维
提高+/省选-2026-10-07 10:45
洛谷P6299
把原式改写成 |(a+bi)(p-qi)+(c+di)(r+si)|^2,在高斯整数环里用扩展欧几里得求 gcd 和贝祖系数。
数论数学最大公约数思维
省选/NOI-2026-10-07 10:45
洛谷P1082
把 ax≡1(mod b) 改写成 ax+by=1,用扩展欧几里得求出一组解,其中 x 在模 b 意义下的最小正值就是答案。
数论逆元
普及+/提高-2026-10-07 10:45
洛谷P4042
设 f[i] 表示杀死一只 i 号怪兽的最小体力,满足 f[i]=min(K_i, S_i+Σf[spawn])。先把法术攻击代价当作初值,再从已确定更小代价的子怪兽反向更新父怪兽。
图论最短路思维
提高+/省选-2026-10-07 10:45
洛谷P2446
对每个城市分别维护“机器人最早能到城门的时间”和“所有前置发生器最晚被摧毁的时间”,城市真正被摧毁的时间是这两者的最大值,再用 Dijkstra 式过程按时间推进。
最短路图论思维堆
提高+/省选-2026-10-07 10:45
洛谷P3831
把每个关键交点拆成“横线状态”和“竖线状态”两个点;同一条线上的相邻关键点连边,换乘站内部连一条代价为 1 的边,再在这张图上跑最短路。
最短路图论堆思维
提高+/省选-2026-10-07 10:45
洛谷P2951
这是无权图单源最短路。先从 1 号点做 BFS,得到每个点的最短层数,再统计最远距离、最小编号和该距离出现次数。
最短路图论bfs
普及-2026-10-07 10:45
洛谷P1529
牧场总数只有 52 个,把大小写字母映射成编号后直接 Floyd 求全源最短路,再在 A..Y 中找离 Z 最近的那头牛。
最短路图论Floyd
普及-2026-10-07 10:45
洛谷P1339
标准正权无向图单源最短路,直接从起点 s 跑一次 Dijkstra,输出到终点 t 的距离即可。
最短路图论堆
普及-2026-10-07 10:45
洛谷P2984
路线被强制经过 1 号牧场,所以先从 1 号点跑一次 Dijkstra,任意询问答案都是 dist[p] + dist[q]。
最短路图论堆
普及2026-10-07 10:45
洛谷P8855
商人的总路程就是从首都出发后,相邻两站之间树上距离的总和;用倍增 LCA 快速求两点距离,再顺着给定路线累加即可。
LCA倍增树形结构
普及+/提高-2026-10-07 10:45
洛谷P10113
一组员工都能被同一人管理,等价于这个人是他们的公共祖先;先求这组点的 LCA,再在根到该 LCA 的路径上取最大编号即可。
LCA倍增树形结构
普及2026-10-07 10:45
洛谷P3388
在无向图上跑一遍 Tarjan,若某个儿子 v 满足 low[v] >= dfn[u],就说明删掉 u 会让这棵子树断开;根节点还要单独判断子树个数。
图论tarjan割点
普及+/提高-2026-10-07 10:45
洛谷P1656
把无向图做一遍 Tarjan,若树边 u-v 满足 low[v] > dfn[u],说明 v 子树回不到 u 及其祖先,这条边就是桥。
图论tarjan割边
普及2026-10-07 10:45
洛谷P2573
先求从 1 号景点出发能到达的全部景点;在这些点上按边的较低端高度降序、边长升序做 Kruskal,可以在保证可达景点数最大的前提下,把总滑行距离压到最小。
图论最小生成树思维推导
省选/NOI-2026-10-07 10:45
洛谷P2323
二分最大允许造价 T。对每个 T,只看二级造价不超过 T 的边是否能连通全图,再看一级造价不超过 T 的边最多能提供多少条一级公路,从而判断可行性。
图论二分答案最小生成树并查集贪心
省选/NOI-2026-10-07 10:45
洛谷P1340
每周只新增一条边,因此当前最小生成树只可能通过“接上一条新边”或“用新边替换环上的更大边”发生变化;维护最小生成森林即可在线输出答案。
图论最小生成树思维
提高+/省选-2026-10-07 10:45
洛谷P1265
题面按轮修路的过程本质是在构造欧几里得最小生成树,最终总长度就等于 MST 边长之和;点数较大时直接用 Prim 求解即可。
图论最小生成树贪心
普及+/提高-2026-10-07 10:45
洛谷P2212
这是带门槛的最小生成树:只有距离平方不小于 c 的边允许使用,直接在完全图上做 Prim,若中途出现不可达点则答案不存在。
图论最小生成树贪心
普及2026-10-07 10:45
洛谷P1546
题目给的是完整邻接矩阵,直接用 Prim 维护每个未选点到当前生成树的最小连边代价,逐个把点加入生成树即可。
图论最小生成树贪心
普及-2026-10-07 10:45
洛谷P1536
并查集合并已有道路并实时维护连通块数,最少新道路数就是连通块数减一。
并查集图论连通块python
入门2026-10-07 10:45
洛谷P3367
用并查集维护若干元素所属的集合,操作 1 合并两个集合,操作 2 判断两个元素是否已经连通。
并查集模板题
入门2026-10-07 10:45
洛谷P2078
分别求出 A 公司里与 1 号同组的人数、B 公司里与 -1 号同组的人数,答案就是这两个连通块大小的较小值。
并查集模拟
入门2026-10-07 10:45
洛谷P8654
把每个格子看成一个点,出现连根关系就并查集合并两个编号,最后连通块数量就是合根植物的总株数。
并查集网格模拟
入门2026-10-07 10:45
洛谷P3243
把限制反向建图,用大根堆在反图上做拓扑排序,再把得到的序列倒过来输出,就能得到题目要求的最优顺序。
图论拓扑排序贪心堆
提高+/省选-2026-10-07 10:45
洛谷P1685
在 DAG 上同时维护从起点到每个点的路径条数和所有路径长度总和,最后加上每次重新坐船返回的固定时间。
图论拓扑排序动态规划高精度
普及+/提高-2026-10-07 10:45
洛谷P3074
把先后约束建成 DAG,在拓扑序上做最长路 DP,`dp[i]` 表示完成第 i 头奶牛的最早结束时间。
图论拓扑排序dag动态规划
普及2026-10-07 10:45
洛谷B3642
分别用显式栈模拟前序、中序、后序遍历,其中后序用双栈避免深递归爆栈。
二叉树树形结构递归
入门2026-10-07 10:45
洛谷P1229
统计前序相邻且在后序中反向相邻的父子对个数,每出现一个这样的单孩子歧义点,答案就乘 2。
二叉树思维递归python
普及2026-10-07 10:45
洛谷P5018
后序计算每棵子树的正常表示和镜像表示,若二者相等则该子树对称,再用子树大小更新最大答案。
二叉树树形结构思维
普及+/提高-2026-10-07 10:45
洛谷P2441
把“有相同萌元素”转成“有公共质因子”,每次修改后整树 DFS,沿根路径按质因子维护最近祖先栈即可回答所有查询。
树形结构dfs思维
提高+/省选-2026-10-07 10:45
洛谷P2171
用有序集合维护已插入节点,只看当前值的前驱和后继,取插入更晚者为父亲,再迭代输出后序遍历和最大深度。
二叉树树形结构递推
普及+/提高-2026-10-07 10:45