题目列表

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

共 1070 题
标题OJ题号标签难度最后更新原题
用 DFS 枚举不下降序列,统计把 m 个苹果分到 n 个盘子的不同分法数。
luoguP2386
DFS递归整数划分计数
普及-2026-07-31 15:30打开
用按高度滚动的动态规划合并连续点击与重力转移,并在管道位置过滤非法高度。
luoguP1941
动态规划DP模拟
普及+/提高2026-07-24 17:47打开
用 Python 整数位集加速 Warshall 传递闭包。
luoguB3611
传递闭包Floyd位运算python
普及2026-07-17 03:00打开
对十个数字求变换传递闭包,再把每一位的可达数字数相乘。
luoguP1037
传递闭包乘法原理位运算python
普及-2026-07-17 03:00打开
在有向图上同时传播路径最低买价和最大已获利润。
luoguP1073
图上 DP最短路队列松弛python
提高2026-07-17 03:00打开
按时间增量加入 Floyd 中间点,在线回答当前已重建村庄间最短路。
luoguP1119
Floyd离线询问增量算法python
普及+/提高-2026-07-17 03:00打开
BFS 分层并在最短层边上累加方案数,支持重边。
luoguP1144
BFS最短路计数前向星python
普及+/提高-2026-07-17 03:00打开
二分允许的最高城市收费,用受限 Dijkstra 检查血量能否到达终点。
luoguP1462
二分答案Dijkstra最短路python
普及+/提高-2026-07-17 03:00打开
对配方超边做 Dijkstra 式松弛,再按最小成本递增顺序统计最优方案数。
luoguP1875
最短路Dijkstra计数python
提高2026-07-17 03:00打开
把三类作物数量关系统一成差分约束边,并检测负环。
luoguP1993
差分约束负环SPFApython
普及+/提高-2026-07-17 03:00打开
Floyd 同时维护最短距离和路径数,再按经过节点的路径比例计算重要度。
luoguP2047
Floyd最短路计数中心性python
提高2026-07-17 03:00打开
用位集传递闭包统计每头牛已知强于和弱于的数量。
luoguP2419
传递闭包位运算偏序python
普及2026-07-17 03:00打开
Dijkstra 同时维护每点严格不同的最短与次短距离。
luoguP2865
次短路Dijkstra最短路python
普及+/提高-2026-07-17 03:00打开
Floyd 预处理岛屿两两最短危险值,再累加指定访问序列相邻项。
luoguP2910
Floyd最短路python
普及2026-07-17 03:00打开
把下界约束建成 0/1 边,SCC 判严格环后在缩点 DAG 上求最长路。
luoguP3275
差分约束强连通分量DAGpython
提高2026-07-17 03:00打开
从节点 1 运行 SPFA,以最短路边数达到 n 判断可达负环。
luoguP3385
负环SPFA最短路python
普及+/提高-2026-07-17 03:00打开
以最小步长为模建立余数图,Dijkstra 求每类余数最早可达楼层。
luoguP3403
同余最短路Dijkstra数学python
提高2026-07-17 03:00打开
把免费次数作为分层状态,在 n(k+1) 个状态上运行 Dijkstra。
luoguP4568
分层图Dijkstra状态扩展python
提高2026-07-17 03:00打开
用 heapq 实现带过期状态判断的 Dijkstra,求非负权有向图单源最短路。
luoguP4779
Dijkstra最短路heapqpython
普及+/提高-2026-07-17 03:00打开
把 x_c-x_c'<=y 转成 c' 到 c 的边,用最短路构造可行解。
luoguP5960
差分约束SPFA负环python
普及+/提高-2026-07-17 03:00打开
Floyd 后枚举传送门端点,逐点对比较原路和两个传送方向。
luoguP6464
Floyd枚举全源最短路python
普及+/提高-2026-07-17 03:00打开
先求带权树直径,再用双指针枚举直径上的长度不超过 s 的核心区间。
luoguP1099
树的直径双指针贪心python
提高2026-07-17 02:00打开
按中心节点聚合邻居权值,一次得到距离为 2 的有序点对总和与最大值。
luoguP1351
邻居聚合数学python
普及+/提高-2026-07-17 02:00打开
用子树大小和换根 DP 求树上距离和最小的节点。
luoguP1395
树形 DP换根 DPpython
普及+/提高-2026-07-17 02:00打开
把路径观察条件改写为深度键值,在树形 DFS 中用事件计数统计经过人数。
luoguP1600
LCA树形差分事件计数python
提高2026-07-17 02:00打开
一次根树遍历求每条边两侧规模,按长度乘规模差累加费用。
luoguP2052
树形 DP子树大小前向星python
普及+/提高-2026-07-17 02:00打开
二分最长运输时间,树上差分检查所有超标路径是否共用一条足够长的边。
luoguP2680
二分答案LCA树上差分python
提高2026-07-17 02:00打开
重链剖分拆树上路径,Fenwick 差分支持道路覆盖加法和单边查询。
luoguP3038
重链剖分树状数组树上差分python
普及+/提高-2026-07-17 02:00打开
用 LCA 和树上点差分统计所有路径经过每个牧场的次数。
luoguP3128
LCA树上差分python
普及+/提高-2026-07-17 02:00打开
HLD 把子树和根路径化为区间,两个 Fenwick 树支持区间加与区间和。
luoguP3178
重链剖分树状数组区间加python
提高2026-07-17 02:00打开
HLD 拆路径,按宗教维护动态线段树,回答同宗教城市的评级和与最大值。
luoguP3313
重链剖分动态线段树路径查询python
省选/提高2026-07-17 02:00打开
用非递归建树和倍增祖先表回答大规模最近公共祖先询问。
luoguP3379
LCA倍增python
普及+/提高-2026-07-17 02:00打开
用 HLD 把树上路径和子树映射为 DFS 序区间,再由懒标记线段树维护区间加和。
luoguP3384
重链剖分线段树python
普及+/提高-2026-07-17 02:00打开
用 LCA 枚举路径交点候选,并用 DFS 序祖先关系判断两条路径是否相交。
luoguP3398
LCA路径相交python
普及+/提高-2026-07-17 02:00打开
HLD 加区间加线段树维护有向路径上的最大买卖差值。
luoguP3976
重链剖分线段树最大子段差python
提高2026-07-17 02:00打开
HLD 后在线段树维护已标记 DFS 序最大值,逐链向上找到最近祖先。
luoguP4092
重链剖分线段树祖先查询python
提高2026-07-17 02:00打开
HLD 加线段树最小值,按根到节点顺序寻找路径上的第一个黑点。
luoguP4116
重链剖分线段树路径查询python
提高2026-07-17 02:00打开
树的直径加任意点到两个直径端点的较小距离,得到最坏寻找时间。
luoguP4408
树的直径最短路python
普及+/提高-2026-07-17 02:00打开
叶层剥离得到每个城市的离叶层数,直接选出最小可行核心半径。
luoguP5536
拓扑剥离贪心python
普及+/提高-2026-07-17 02:00打开
把同色节点的路径约束化为 Steiner 子树直径,并用两侧组件计数路径数量。
luoguP5588
树的直径LCA树上计数python
提高2026-07-17 02:00打开
换根维护最大相邻组件,并沿最大子树链快速定位每个分割树的重心。
luoguP5666
重心换根倍增python
省选/提高2026-07-17 02:00打开
LCA 结合根路径 G 计数,判断一条路径上是否出现指定品种。
luoguP5836
LCA前缀和python
普及+/提高-2026-07-17 02:00打开
从 1 号点 BFS,统计距离不超过 d 的非根节点。
luoguP5908
BFS队列python
普及2026-07-17 02:00打开
离线压缩坐标,外层线段树寻找最左可行 x,组内 Fenwick 找最小可行 y。
luoguCF19D
线段树树状数组坐标压缩二维查询python
省选/提高2026-07-16 23:59打开
在线段树中同时维护区间赋值、区间加法和区间最大值。
luoguP1253
线段树懒标记区间赋值区间最大值python
普及+/提高2026-07-16 23:59打开
用两个 Fenwick 树维护等差数列区间加,并在单点查询时恢复当前值。
luoguP1438
树状数组差分等差数列python
普及+/提高2026-07-16 23:59打开
线段树同时维护区间和与平方和,用懒标记支持区间加和方差查询。
luoguP1471
线段树懒标记方差浮点数python
普及+/提高2026-07-16 23:59打开
用最多 30 位的整数位掩码表示颜色集合,线段树支持区间赋色和颜色种类查询。
luoguP1558
线段树位运算区间赋值python
普及+/提高2026-07-16 23:59打开
离散化后用两次 Fenwick 扫描统计每个中间位置左侧更小和右侧更大的数量。
luoguP1637
树状数组离散化计数python
普及+/提高2026-07-16 23:59打开
线段树用赋值和翻转懒标记维护 01 序列的计数与最长连续 1。
luoguP2572
线段树01序列懒标记区间翻转python
提高2026-07-16 23:59打开
用带懒标记的线段树维护区间和,支持区间加和区间查询。
luoguP3372
线段树懒标记区间加区间求和python
普及/提高-2026-07-16 23:59打开
把区间乘和区间加统一成仿射懒标记,维护模意义下的区间和。
luoguP3373
线段树懒标记区间乘区间加取模python
普及/提高-2026-07-16 23:59打开
用翻转懒标记维护区间开关状态和区间亮灯数量。
luoguP3870
线段树懒标记区间翻转python
普及/提高-2026-07-16 23:59打开
线段树维护区间和与最值,利用平方根快速收敛剪枝区间开方。
luoguP4145
线段树区间开方剪枝python
提高2026-07-16 23:59打开
线段树维护区间和、最大前缀、最大后缀和最大子段和,支持单点修改。
luoguP4513
线段树最大子段和点修改python
普及+/提高2026-07-16 23:59打开
线段树按位合并区间字符串的 0/1 约束,统计所有兼容二进制串的数量。
luoguP5522
线段树位运算字符串异或python
省选/提高2026-07-16 23:59打开
维护二进制字符序列的最长交替连续子串,支持单点翻转。
luoguP6492
线段树字符串交替序列python
普及+/提高2026-07-16 23:59打开
最大堆和最小堆维护前缀的较小一半与较大一半,奇数长度输出最大堆顶。
luoguP1168
双堆中位数heapqpython
普及/提高-2026-07-16 21:00打开
每个 A[i] 与整个 B 形成一条有序和序列,用堆归并取最小 n 个。
luoguP1631
多路归并二叉堆python
普及+/提高2026-07-16 21:00打开
两个堆维护已输出排名左侧与右侧元素,使每次 GET 的目标值位于右堆顶。
luoguP1801
双堆第k小heapqpython
普及+/提高2026-07-16 21:00打开