题目列表
可按标题、OJ、标签和启发记录快速筛选题目解析。
| 标题 | OJ | 题号 | 标签 | 难度 | 最后更新 | 原题 |
|---|---|---|---|---|---|---|
用 DFS 枚举不下降序列,统计把 m 个苹果分到 n 个盘子的不同分法数。 | luogu | P2386 | 普及- | 2026-07-31 15:30 | 打开 | |
用按高度滚动的动态规划合并连续点击与重力转移,并在管道位置过滤非法高度。 | luogu | P1941 | 普及+/提高 | 2026-07-24 17:47 | 打开 | |
用 Python 整数位集加速 Warshall 传递闭包。 | luogu | B3611 | 普及 | 2026-07-17 03:00 | 打开 | |
对十个数字求变换传递闭包,再把每一位的可达数字数相乘。 | luogu | P1037 | 普及- | 2026-07-17 03:00 | 打开 | |
在有向图上同时传播路径最低买价和最大已获利润。 | luogu | P1073 | 提高 | 2026-07-17 03:00 | 打开 | |
按时间增量加入 Floyd 中间点,在线回答当前已重建村庄间最短路。 | luogu | P1119 | 普及+/提高- | 2026-07-17 03:00 | 打开 | |
BFS 分层并在最短层边上累加方案数,支持重边。 | luogu | P1144 | 普及+/提高- | 2026-07-17 03:00 | 打开 | |
二分允许的最高城市收费,用受限 Dijkstra 检查血量能否到达终点。 | luogu | P1462 | 普及+/提高- | 2026-07-17 03:00 | 打开 | |
对配方超边做 Dijkstra 式松弛,再按最小成本递增顺序统计最优方案数。 | luogu | P1875 | 提高 | 2026-07-17 03:00 | 打开 | |
把三类作物数量关系统一成差分约束边,并检测负环。 | luogu | P1993 | 普及+/提高- | 2026-07-17 03:00 | 打开 | |
Floyd 同时维护最短距离和路径数,再按经过节点的路径比例计算重要度。 | luogu | P2047 | 提高 | 2026-07-17 03:00 | 打开 | |
用位集传递闭包统计每头牛已知强于和弱于的数量。 | luogu | P2419 | 普及 | 2026-07-17 03:00 | 打开 | |
Dijkstra 同时维护每点严格不同的最短与次短距离。 | luogu | P2865 | 普及+/提高- | 2026-07-17 03:00 | 打开 | |
Floyd 预处理岛屿两两最短危险值,再累加指定访问序列相邻项。 | luogu | P2910 | 普及 | 2026-07-17 03:00 | 打开 | |
把下界约束建成 0/1 边,SCC 判严格环后在缩点 DAG 上求最长路。 | luogu | P3275 | 提高 | 2026-07-17 03:00 | 打开 | |
从节点 1 运行 SPFA,以最短路边数达到 n 判断可达负环。 | luogu | P3385 | 普及+/提高- | 2026-07-17 03:00 | 打开 | |
以最小步长为模建立余数图,Dijkstra 求每类余数最早可达楼层。 | luogu | P3403 | 提高 | 2026-07-17 03:00 | 打开 | |
把免费次数作为分层状态,在 n(k+1) 个状态上运行 Dijkstra。 | luogu | P4568 | 提高 | 2026-07-17 03:00 | 打开 | |
用 heapq 实现带过期状态判断的 Dijkstra,求非负权有向图单源最短路。 | luogu | P4779 | 普及+/提高- | 2026-07-17 03:00 | 打开 | |
把 x_c-x_c'<=y 转成 c' 到 c 的边,用最短路构造可行解。 | luogu | P5960 | 普及+/提高- | 2026-07-17 03:00 | 打开 | |
Floyd 后枚举传送门端点,逐点对比较原路和两个传送方向。 | luogu | P6464 | 普及+/提高- | 2026-07-17 03:00 | 打开 | |
先求带权树直径,再用双指针枚举直径上的长度不超过 s 的核心区间。 | luogu | P1099 | 提高 | 2026-07-17 02:00 | 打开 | |
按中心节点聚合邻居权值,一次得到距离为 2 的有序点对总和与最大值。 | luogu | P1351 | 普及+/提高- | 2026-07-17 02:00 | 打开 | |
用子树大小和换根 DP 求树上距离和最小的节点。 | luogu | P1395 | 普及+/提高- | 2026-07-17 02:00 | 打开 | |
把路径观察条件改写为深度键值,在树形 DFS 中用事件计数统计经过人数。 | luogu | P1600 | 提高 | 2026-07-17 02:00 | 打开 | |
一次根树遍历求每条边两侧规模,按长度乘规模差累加费用。 | luogu | P2052 | 普及+/提高- | 2026-07-17 02:00 | 打开 | |
二分最长运输时间,树上差分检查所有超标路径是否共用一条足够长的边。 | luogu | P2680 | 提高 | 2026-07-17 02:00 | 打开 | |
重链剖分拆树上路径,Fenwick 差分支持道路覆盖加法和单边查询。 | luogu | P3038 | 普及+/提高- | 2026-07-17 02:00 | 打开 | |
用 LCA 和树上点差分统计所有路径经过每个牧场的次数。 | luogu | P3128 | 普及+/提高- | 2026-07-17 02:00 | 打开 | |
HLD 把子树和根路径化为区间,两个 Fenwick 树支持区间加与区间和。 | luogu | P3178 | 提高 | 2026-07-17 02:00 | 打开 | |
HLD 拆路径,按宗教维护动态线段树,回答同宗教城市的评级和与最大值。 | luogu | P3313 | 省选/提高 | 2026-07-17 02:00 | 打开 | |
用非递归建树和倍增祖先表回答大规模最近公共祖先询问。 | luogu | P3379 | 普及+/提高- | 2026-07-17 02:00 | 打开 | |
用 HLD 把树上路径和子树映射为 DFS 序区间,再由懒标记线段树维护区间加和。 | luogu | P3384 | 普及+/提高- | 2026-07-17 02:00 | 打开 | |
用 LCA 枚举路径交点候选,并用 DFS 序祖先关系判断两条路径是否相交。 | luogu | P3398 | 普及+/提高- | 2026-07-17 02:00 | 打开 | |
HLD 加区间加线段树维护有向路径上的最大买卖差值。 | luogu | P3976 | 提高 | 2026-07-17 02:00 | 打开 | |
HLD 后在线段树维护已标记 DFS 序最大值,逐链向上找到最近祖先。 | luogu | P4092 | 提高 | 2026-07-17 02:00 | 打开 | |
HLD 加线段树最小值,按根到节点顺序寻找路径上的第一个黑点。 | luogu | P4116 | 提高 | 2026-07-17 02:00 | 打开 | |
树的直径加任意点到两个直径端点的较小距离,得到最坏寻找时间。 | luogu | P4408 | 普及+/提高- | 2026-07-17 02:00 | 打开 | |
叶层剥离得到每个城市的离叶层数,直接选出最小可行核心半径。 | luogu | P5536 | 普及+/提高- | 2026-07-17 02:00 | 打开 | |
把同色节点的路径约束化为 Steiner 子树直径,并用两侧组件计数路径数量。 | luogu | P5588 | 提高 | 2026-07-17 02:00 | 打开 | |
换根维护最大相邻组件,并沿最大子树链快速定位每个分割树的重心。 | luogu | P5666 | 省选/提高 | 2026-07-17 02:00 | 打开 | |
LCA 结合根路径 G 计数,判断一条路径上是否出现指定品种。 | luogu | P5836 | 普及+/提高- | 2026-07-17 02:00 | 打开 | |
从 1 号点 BFS,统计距离不超过 d 的非根节点。 | luogu | P5908 | 普及 | 2026-07-17 02:00 | 打开 | |
离线压缩坐标,外层线段树寻找最左可行 x,组内 Fenwick 找最小可行 y。 | luogu | CF19D | 省选/提高 | 2026-07-16 23:59 | 打开 | |
在线段树中同时维护区间赋值、区间加法和区间最大值。 | luogu | P1253 | 普及+/提高 | 2026-07-16 23:59 | 打开 | |
用两个 Fenwick 树维护等差数列区间加,并在单点查询时恢复当前值。 | luogu | P1438 | 普及+/提高 | 2026-07-16 23:59 | 打开 | |
线段树同时维护区间和与平方和,用懒标记支持区间加和方差查询。 | luogu | P1471 | 普及+/提高 | 2026-07-16 23:59 | 打开 | |
用最多 30 位的整数位掩码表示颜色集合,线段树支持区间赋色和颜色种类查询。 | luogu | P1558 | 普及+/提高 | 2026-07-16 23:59 | 打开 | |
离散化后用两次 Fenwick 扫描统计每个中间位置左侧更小和右侧更大的数量。 | luogu | P1637 | 普及+/提高 | 2026-07-16 23:59 | 打开 | |
线段树用赋值和翻转懒标记维护 01 序列的计数与最长连续 1。 | luogu | P2572 | 提高 | 2026-07-16 23:59 | 打开 | |
用带懒标记的线段树维护区间和,支持区间加和区间查询。 | luogu | P3372 | 普及/提高- | 2026-07-16 23:59 | 打开 | |
把区间乘和区间加统一成仿射懒标记,维护模意义下的区间和。 | luogu | P3373 | 普及/提高- | 2026-07-16 23:59 | 打开 | |
用翻转懒标记维护区间开关状态和区间亮灯数量。 | luogu | P3870 | 普及/提高- | 2026-07-16 23:59 | 打开 | |
线段树维护区间和与最值,利用平方根快速收敛剪枝区间开方。 | luogu | P4145 | 提高 | 2026-07-16 23:59 | 打开 | |
线段树维护区间和、最大前缀、最大后缀和最大子段和,支持单点修改。 | luogu | P4513 | 普及+/提高 | 2026-07-16 23:59 | 打开 | |
线段树按位合并区间字符串的 0/1 约束,统计所有兼容二进制串的数量。 | luogu | P5522 | 省选/提高 | 2026-07-16 23:59 | 打开 | |
维护二进制字符序列的最长交替连续子串,支持单点翻转。 | luogu | P6492 | 普及+/提高 | 2026-07-16 23:59 | 打开 | |
最大堆和最小堆维护前缀的较小一半与较大一半,奇数长度输出最大堆顶。 | luogu | P1168 | 普及/提高- | 2026-07-16 21:00 | 打开 | |
每个 A[i] 与整个 B 形成一条有序和序列,用堆归并取最小 n 个。 | luogu | P1631 | 普及+/提高 | 2026-07-16 21:00 | 打开 | |
两个堆维护已输出排名左侧与右侧元素,使每次 GET 的目标值位于右堆顶。 | luogu | P1801 | 普及+/提高 | 2026-07-16 21:00 | 打开 |