题目列表

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

共 2161 题
标题OJ题号标签难度最后更新原题
把连续编号区间的 LCA 深度转成相邻 LCA 深度数组的区间最小值,再离线二分答案。
luoguP11364
树形结构LCA二分线段树离线
省选/NOI-2026-06-22 19:30打开
把边遍历看成线图 DFS 树计数,先算单根方案,再用树形 DP 统计关键边对的重复贡献。
luoguP11363
树形结构动态规划组合计数
提高+/省选-2026-06-22 19:19打开
用一元固定点切分变量链,相邻固定点区间用总方案减唯一强制失败链计数。
luoguP11362
组合计数数学快速幂
普及+/提高2026-06-22 19:11打开
把连续可交换位置压成区间容量,分别贪心匹配同为 1 和同为 0 的最大数量。
luoguP11361
字符串贪心区间
普及+/提高2026-06-22 19:01打开
把赛程看成满二叉树,预处理确定赢家与自由前缀,再用差分统计每个叶子可能夺冠的前缀区间。
luoguP11234
树形结构动态规划
省选/NOI-2026-06-22 18:45打开
把两种颜色的历史压成另一色最后值 DP,并用最大/次大状态 O(1) 查询排除当前值后的最优转移。
luoguP11233
动态规划状态压缩最大次大值
提高+/省选-2026-06-22 18:36打开
用速度平方把每辆车能被检测到的位置转成测速仪区间,再用右端点贪心求最少保留测速仪。
luoguP11232
贪心二分区间覆盖
普及+/提高2026-06-22 18:29打开
把有效攻击看成强牌匹配弱牌,排序后用双指针求最多能击败多少只怪兽。
luoguP11231
贪心排序
普及/提高-2026-06-22 18:23打开
把购买拆成最便宜的两颗组和若干个单颗项,预处理奇偶最优值后二分答案。
luoguP14635
二分答案贪心推导noip
普及+/提高2026-06-22 17:57打开
按原价降序刻画贪心失败的关键交换对,用组合数统计坏定价方案后从 2^n 中扣除。
luoguP14636
贪心组合计数排序
提高+/省选-2026-06-22 17:57打开
先把打乱后的座位顺序映射成原座位下标序列,再把不满值转化成这个整数序列的逆序对数量。
luoguP5149
归并排序逆序对字符串哈希
普及+/提高2026-06-21 15:31打开
利用每轮比赛前排名有序的性质,打完后胜者组和败者组各自仍有序,再线性归并回新排名。
luoguP1309
归并排序排序模拟思维
普及+/提高2026-06-21 15:27打开
把 01 串的最长不下降子序列转成前缀差值区间最大值,最长上升子序列则只需判断是否存在 0 在 1 前面。
luoguP7809
前缀和ST表思维区间最值
提高+/省选-2026-06-21 14:58打开
把极大极小乘积按 B 区间符号分三类讨论,只需在 A 区间查询最值、最小正数、最大负数和是否有零。
luoguP8818
ST表分类讨论极小化极大思维
提高+/省选-2026-06-21 14:48打开
按 b_i 从大到小离线,把满足 a_j >= 当前阈值的位置加入有序集合,再查询环上最近活跃点距离。
luoguP7333
排序数据结构思维
普及+/提高2026-06-21 14:44打开
按 N 与 M 的大小分类,把条件改写成在前半串循环串中匹配一段前后缀,再用 KMP 与哈希统计可行配对。
luoguP3318
字符串KMP哈希建模分类讨论
提高+/省选-2026-06-21 14:34打开
按被询问到的每个 k 分开离线模拟,只维护该 k 的向后串计数;合并分裂时只更新边界附近 k-1 个起点。
luoguP3823
字符串哈希链表离线计数建模
NOI/NOI+/CTSC2026-06-21 14:25打开
枚举删除的那一位,把删掉该位后相同的字符串分到同一组,每组贡献组合数。
luoguP4503
字符串哈希计数建模
普及+/提高2026-06-21 14:19打开
先按全 # 边框切出所有窗口,再把每个窗口在允许旋转下做最小表示,用集合统计不同图案个数。
luoguP3678
模拟矩阵分类讨论
普及/提高-2026-06-21 14:15打开
把所有 DNA 串拼接后按长度 k 的前缀分组,统计每个相同碱基串在各物种中的出现次数,再做组合计数。
luoguP8643
字符串后缀数组计数组合计数
提高+/省选-2026-06-21 14:08打开
利用插入字符只会落在中间分界线两侧之一,分别线性判断两种情况,再分类讨论唯一性。
luoguP6739
字符串分类讨论建模
普及+/提高2026-06-21 14:01打开
先求每个后缀有多长前缀能作为 s 的子序列,再按后缀字典序和两两 LCP 去重统计不同字符串。
luoguP7469
字符串计数建模排序
提高+/省选-2026-06-21 13:46打开
把长度为 8 的子串和密码都转成 26 个字母的计数签名,再用滑动窗口统计每种签名出现次数。
luoguP8630
字符串滑动窗口哈希
普及/提高-2026-06-21 13:43打开
利用字典保持插入顺序的特性,用 dict.fromkeys 一步完成保序去重。
luoguP4305
哈希去重字典python
入门2026-06-21 13:40打开
枚举跳跃高度和连跳次数,在固定参数下对位置与当前连跳进度做记忆化搜索,最后减去升级费用并比较最优方案。
luoguP3257
动态规划记忆化搜索状态设计枚举
提高+/省选-2026-06-21 13:32打开
设 dp[i][j][s] 表示前 i 轮、已经换 j 次手势且当前手势为 s 时的最大胜场数。
luoguP3609
动态规划dp状态设计
普及/提高-2026-06-21 13:27打开
设 dp[i][j][c] 表示走到第 i 行第 j 个位置且用了 c 次三倍经验时的最大得分,再按左右两个父节点转移。
luoguP1544
动态规划dp状态设计
普及/提高-2026-06-21 13:24打开
设 dp[i][j] 表示前 i 分钟、移动 j 次后最多接到多少苹果,当前位置由 j 的奇偶唯一确定。
luoguP2690
动态规划dp
普及/提高-2026-06-21 13:20打开
把食物网看成 DAG,令入度为 0 的点作为起点,按拓扑序递推每个点的路径条数。
luoguP3183
图论拓扑排序dag计数dp
普及/提高-2026-06-21 13:16打开
把交替加法过程改写成 Fibonacci 型递推,再利用模 p 的周期在有限步内判断谁先变成 0。
luoguP5635
数学递推取模
普及/提高-2026-06-21 13:10打开
按题目分支写递归函数,并用 lru_cache 记忆化 1 到 20 范围内的重复状态。
luoguP1464
记忆化搜索递归动态规划python
普及/提高-2026-06-21 13:06打开
先用 Z 函数求每个位置和字典串前缀的最长匹配长度,再把这些匹配视作区间覆盖做最少跳数贪心。
luoguP8112
字符串贪心Z函数区间覆盖
提高+/省选-2026-06-21 12:51打开
按到达事件推进时间,维护当前运行进程和等待优先队列,遇到更高优先级进程时立即抢占。
luoguP2278
模拟优先队列调度
普及+/提高2026-06-21 12:43打开
按保质期从后往前安排每天吃什么,用小根堆维护当前仍可食用的最便宜巧克力。
luoguP8769
贪心优先队列排序
普及/提高-2026-06-21 12:39打开
按计算机分别维护当前运行任务的小根堆,先弹出已结束任务,再判断剩余算力是否足够。
luoguP8755
模拟优先队列
普及/提高-2026-06-21 12:36打开
每次合并当前最小的两堆果子,等价于构造 Huffman 树;可用小根堆维护,也可排序后用两个普通队列 O(n) 完成合并阶段。
luoguP1090
贪心优先队列队列哈夫曼编码python
普及2026-06-21 12:34打开
先预处理一段村庄只建一个邮局的代价,再做邮局数量分层 DP,并用决策单调性做分治优化。
luoguP4767
动态规划决策单调性分治优化区间
提高+/省选-2026-06-21 12:31打开
把环断成长度为 n 的所有链段,做区间 DP,同时维护最小合并代价和最大合并代价。
luoguP1880
动态规划区间dp环形处理
普及+/提高2026-06-21 12:27打开
把删点顺序转成树边定向,再做树形 DP,维护子树向根汇总权值与根向下可达点数的 Pareto 状态。
luoguP9111
动态规划树形DP建模
提高+/省选-2026-06-21 11:27打开
先用一元生成函数统计普通子树的剪枝顺序,再在 1 到 x 的路径上做带“前后分配”的树形计数 DP。
luoguP8935
动态规划树形DP组合计数计数
省选/NOI-2026-06-21 10:41打开
把装备合成关系看成森林,设 f[u][j][c] 表示在 u 的子树里留出 j 个 u 给父亲继续合成、花费 c 金币时能得到的最大力量值,再做树形分组背包合并子树。
luoguP4037
动态规划树形DP背包状态设计
提高+/省选-2026-06-21 10:35打开
把每张钞票看成独立物品,做 2 维 DP:dp[a][b] 表示最终分给 Alice 金额为 a、Bob 金额为 b 时最多能保留多少张原主人不变的钞票,答案是总张数减去最多保留张数。
luoguP4026
动态规划背包状态设计分类讨论
提高+/省选-2026-06-21 10:28打开
做树上背包,设 f[u][j][sel][cov] 表示子树内选了 j 个点、u 是否放设备、u 是否被儿子监听的方案数,合并儿子时判断儿子是否能被父亲覆盖。
luoguP4516
动态规划树形DP树上背包状态设计
提高+/省选-2026-06-21 10:23打开
离散菜先做凹费用完全背包求每个整数重量的最优值,连续菜再把剩余重量写成分段二次函数最优分配,最后合并两部分答案。
luoguP6893
动态规划背包状态设计分类讨论
提高+/省选-2026-06-21 10:15打开
先做一个容量 200 的 0/1 背包,求每个总 p 下能得到的最大总 k,再按回合数与 d 值差做极小极大动态规划。
luoguP7097
动态规划背包状态设计极小化极大
提高+/省选-2026-06-21 09:59打开
先用完全背包预处理“花费 x 资源当秒最多新增多少采集效率”,再按时间推进 DP:dp[j] 表示当前手里有 j 资源时的最大已有采集效率。
luoguP3891
动态规划完全背包状态设计分类讨论
提高+/省选-2026-06-21 09:44打开
把最多 5 种商品的购买数量压成 base-6 状态,把优惠包和单买都当成转移,在所有合法购买状态上做最短路式动态规划。
luoguP2732
动态规划状态压缩状态设计记忆化搜索
普及+/提高2026-06-21 09:39打开
把每个任务的选择压成 A 机器总时间这一维,设 dp[x] 表示 A 用时为 x 时 B 的最小用时,最后在所有状态里取 max(A,B) 的最小值。
luoguP2224
动态规划背包状态设计分类讨论
普及+/提高2026-06-21 09:30打开
先把可行性化成“所选挂钩总数至少是所选挂饰数减一”,再把挂饰分成必选、必不选和可选三类,对负收益但能加挂钩的部分做 0/1 背包。
luoguP4138
动态规划01背包分类讨论建模
提高+/省选-2026-06-21 09:19打开
把第 i 个小矮人逃走前的条件整理成“已逃走肩高前缀不超过 T+a_i+b_i-H”,再按 a+b 排序并用大根堆维护最多可行人数。
luoguP4823
贪心排序优先队列调度
提高+/省选-2026-06-21 08:50打开
把每个式子化成 `(#s-#c, #s+#c)`,再做差值背包,求总差值为 0 时总长度最大,答案就是长度的一半。
luoguP4832
动态规划背包数学状态设计
提高+/省选-2026-06-21 07:59打开
把分批完成的总费用用前缀和展开成线性形式后,对每个分界点建立直线,用单调队列做斜率优化 DP。
luoguP5785
动态规划前缀和斜率优化凸包优化
提高+/省选-2026-06-21 07:48打开
把连续分段费用写成前缀和形式后,展开平方得到标准斜率优化 DP,用单调队列维护下凸壳。
luoguP3195
动态规划前缀和斜率优化凸包优化
提高+/省选-2026-06-21 07:42打开
用前缀和写出连续分段的建仓代价后,把 DP 转移整理成关于位置 x 的直线最小值查询,并用单调队列做斜率优化。
luoguP2120
动态规划前缀和斜率优化凸包优化
提高+/省选-2026-06-21 07:36打开
先删除所有被支配矩形,把问题化成连续分段 DP,再用单调队列维护凸包优化转移。
luoguP2900
动态规划斜率优化凸包优化贪心预处理
提高+/省选-2026-06-21 07:31打开
把每个站点上的换乘 DP 写成关于发车时刻 p 的直线最小值查询,再按时间扫描并为每个站维护单调队列凸包。
luoguP6302
动态规划斜率优化凸包优化按时间扫描
省选/NOI-2026-06-21 07:23打开
把二维偏序上的最大收益路径 DP 拆成按列扫描,再用两层单调凸包分别处理历史列转移和当前列内的纵向转移。
luoguP4056
动态规划斜率优化凸包优化二维偏序
省选/NOI-2026-06-21 07:09打开
把每个点看成按 x 坐标有向无环图上的一个状态,接收费用可整理成关于目标坐标 x 的直线,用 Li Chao Tree 维护左侧所有可转移点的最小值。
luoguP2497
动态规划几何Li Chao Tree最短路
省选/NOI-2026-06-21 06:57打开
把家庭按最终去的会场分成 4 段,设 dp[k][i] 表示前 i 户用了 k 个中间会场的最小代价,再把区间代价整理成直线形式,用斜率优化把 3 层转移压到线性。
luoguP8632
动态规划斜率优化前缀和优化
提高+/省选-2026-06-21 06:52打开
把每位同学的到达时刻平移为“最早可被接走的回程时刻”,再设 dp[x] 表示最后一班车在时刻 x 返回时的最小等待和,并用斜率优化维护转移直线。
luoguP5017
动态规划斜率优化前缀和优化
提高+/省选-2026-06-21 06:36打开