题目列表

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

共 3718 题
OJ题号标题标签难度最后更新解析
NOI OpenJudgemath-7655
本地题面缓存已迁移,解析内容待补充。
-普及-2026-10-04 22:05
NOI OpenJudgemath-7656
本地题面缓存已迁移,解析内容待补充。
-普及-2026-10-04 22:05
NOI OpenJudgemath-7657
本地题面缓存已迁移,解析内容待补充。
-普及-2026-10-04 22:05
NOI OpenJudgemath-7826
本地题面缓存已迁移,解析内容待补充。
-普及-2026-10-04 22:05
NOI OpenJudgemath-7827
本地题面缓存已迁移,解析内容待补充。
-普及-2026-10-04 22:05
NOI OpenJudgemath-7828
本地题面缓存已迁移,解析内容待补充。
-普及+/提高-2026-10-04 22:05
NOI OpenJudgemath-7829
本地题面缓存已迁移,解析内容待补充。
-普及-2026-10-04 22:05
NOI OpenJudgemath-7830
本地题面缓存已迁移,解析内容待补充。
-普及-2026-10-04 22:05
NOI OpenJudgemath-7831
本地题面缓存已迁移,解析内容待补充。
-普及-2026-10-04 22:05
NOI OpenJudgemath-7832
本地题面缓存已迁移,解析内容待补充。
-普及+/提高-2026-10-04 22:05
NOI OpenJudgemath-7833
本地题面缓存已迁移,解析内容待补充。
-普及-2026-10-04 22:05
NOI OpenJudgemath-7834
本地题面缓存已迁移,解析内容待补充。
-普及+/提高-2026-10-04 22:05
AtCoderabc042_b-普及-2026-10-04 22:05
AtCoderarc065_a-普及2026-10-04 22:05
RainboyOJ10009
由 gcd 结合律按前两数的 gcd 分桶,答案化为 cnt[g] 与单变量 gcd 和 sum[g] 的乘积和,O(n³) 降到 O(n²)。
数论gcdpython
普及-2026-10-04 21:49
RainboyOJ10004
四轮评分按优先级判定:先淘汰出现 D 或两个 C 的人,通过者中无 D 且 A 达三个给 sp offer,其余给 offer。
入门条件判断字符串python
入门2026-10-04 21:37
RainboyOJ10000
一次扫描把字符按 ASCII 区间分入四个桶,append 顺序天然保序,等级为非空桶数。
入门字符串模拟python
入门2026-10-04 21:36
RainboyOJ1000
读入两个整数直接相加输出:一行输入两个整数,用 ll 读入后输出 a+b。
输入输出python
入门2026-10-04 21:35
RainboyOJ1315
第二类 Stirling 数一维滚动递推,结果按 64 位有符号 long long 溢出处理。
dp组合数学斯特林数滚动数组
入门2026-10-04 13:25
洛谷P9248
按最大点权和筛出连通块,用「最浅合法测试点」把存在公共测试点拆成单点计数,DFS 序背包 O(N²M) 求各 A_x,再算 C(A_x,K) mod 5^23(注意 A_x 要精确到 u64、方案数不能取模)。
树形 DP背包组合数数论DFS 序
省选/NOI-2026-10-03 18:30
洛谷P9717
把 01→10 看成 1 向左挤压的粒子模型,状态图是 ρ 形,答案 = 进环步数 T + 环长 P;用翻转反转把 1 变多数、Raney 引理破环、栈模拟 1 段吃 0 段求 T 与终态,再 KMP 求最小周期 P。
模拟构造栈KMP周期性TASEP
省选/NOI-2026-10-03 17:55
洛谷P9727
按 (i+j) mod 4 给格子分成四类,每条 1×4 恰好占四类各一个,于是 0 的下界是最小类大小;用「第 i 行只在 j≡p[i mod 4] 放 0」的 4 行周期排列即可取到这个下界。
构造数学抽屉原理分类讨论
提高+/省选-2026-10-03 17:20
洛谷P9725
树上追逃博弈的加边最小化:Shou 的必胜点只可能是「叶子 + 叶子的父亲」,故每个叶子必须连一条指向非父亲邻点的新边;按父亲分组统计,答案 = max(⌈L/2⌉, 最大组大小),菊花图无解输出 -1。
图论树博弈论贪心结论题
提高+/省选-2026-10-03 14:15
洛谷P9722
按竖线条数把三条直线分成两类:三条竖线与「一横两竖」,各自固定中间那条线后把方案数化为区间长度问题,再用断点分块、前缀极值和带 min 后缀和的线段树扫描统计。
组合计数扫描线线段树分类讨论离散化
省选/NOI-2026-10-03 14:09
洛谷P9723
一次 move 只动一颗棋子,终局就是起点与终点两格互换;于是对每个棋子求一次 6 方向 BFS 的可达空格数,求和即可。
模拟枚举BFS网格思维图论
提高2026-10-03 13:05
洛谷P9720
最优路线可化为对 s、t 各连续做若干次「公园→地图」收缩传送后走直线,枚举两个次数使 a+b≤n 即可,O(n²)。
计算几何相似变换枚举数学
省选/NOI-2026-10-03 12:51
洛谷P9721
用 inv(l,r)^inv(l+1,r)^inv(l,r-1)^inv(l+1,r-1) 两次询问判断两个位置的大小,再做插入排序式的二分定位,总询问不超过 39906。
交互题二分插入排序逆序对奇偶性
提高+/省选-2026-10-03 12:47
洛谷P2834
先枚举纸币再枚举金额做完全背包计数,不同支付顺序合并为同一种组合,dp[j]=(dp[j]+dp[j-v])%MOD。
动态规划完全背包背包计数
普及-2026-10-03 12:38
洛谷P2840
先枚举金额再枚举纸币做完全背包计数,不同支付顺序视为不同方案,dp[j]=(dp[j]+dp[j-v])%MOD。
动态规划完全背包背包计数
普及-2026-10-03 12:38
洛谷U661996
树形依赖背包:dp[u][j]表示子树u容量j的最大价值,递归时先选u再对子节点分配容量做类分组背包合并。
动态规划背包树形DP有依赖的背包
普及+/提高-2026-10-03 12:38
洛谷U662012
物品价值随分配容量变化:分段线性插值得val[c]=f(c),然后倒序DP对所有容量c尝试分配x容量得val[x]。
动态规划背包泛化物品
普及+/提高-2026-10-03 12:38
洛谷U663733
使用DP计数恰好装满背包的排列方案数,先枚举容量再枚举物品,dp[c]+=dp[c-v]累加不同顺序的方案,对1e9+7取模。
动态规划完全背包背包
普及-2026-10-03 12:38
洛谷U663791
多重背包模板题,数据范围扩大(N,V,s≤1000),需用二进制分组将每种物品拆分成 O(log s) 个 01 物品。
动态规划多重背包二进制优化背包
普及-2026-10-03 12:38
洛谷P2196
编号天然是拓扑序,按终点递推 f[i] = max(f[j] + a[i]),用 pre 数组还原最优路径。
动态规划DAG拓扑序路径恢复c++
普及2026-10-03 12:38
力扣perfect-squares
完全背包 DP:dp[i] 从所有不超过 i 的平方数转移,取最小值。
动态规划完全背包
普及2026-10-03 12:38
洛谷P1983
每趟车建立虚拟节点压缩停靠与不停靠站的大小约束,再做拓扑最长路求最少级别数。
拓扑排序DAG虚拟节点动态规划python
普及+/提高-2026-10-03 12:38
洛谷P6893
离散菜先做凹费用完全背包求每个整数重量的最优值,连续菜再把剩余重量写成分段二次函数最优分配,最后合并两部分答案。
动态规划背包状态设计分类讨论
提高+/省选-2026-10-03 12:38
洛谷P7097
先做一个容量 200 的 0/1 背包,求每个总 p 下能得到的最大总 k,再按回合数与 d 值差做极小极大动态规划。
动态规划背包状态设计极小化极大
提高+/省选-2026-10-03 12:38
洛谷P3891
先用完全背包预处理“花费 x 资源当秒最多新增多少采集效率”,再按时间推进 DP:dp[j] 表示当前手里有 j 资源时的最大已有采集效率。
动态规划完全背包状态设计分类讨论
提高+/省选-2026-10-03 12:38
洛谷P4138
先把可行性化成“所选挂钩总数至少是所选挂饰数减一”,再把挂饰分成必选、必不选和可选三类,对负收益但能加挂钩的部分做 0/1 背包。
动态规划01背包分类讨论建模
提高+/省选-2026-10-03 12:38
洛谷P2254
把每段固定方向的时间看成一次行或列上的区间转移,设 dp[x][y] 表示当前位置最大滑行距离,再用单调队列优化每段的滑动窗口最大值。
动态规划单调队列网格
提高+/省选-2026-10-03 12:38
洛谷P1433
状压 TSP:用 dp[mask][u] 表示已吃集合 mask 且最后停在 u 的最短距离,起点固定、终点不限。
状态压缩动态规划TSP位运算
普及+/提高-2026-10-03 12:38
洛谷P1450
先预处理 4 种硬币无限使用时的完全背包方案数,再对每个询问用 16 个子集做容斥,扣掉任意一种硬币超上界的方案。
动态规划完全背包容斥组合计数背包
提高+/省选-2026-10-03 12:38
洛谷P2851
付款方做有限硬币最少张数 DP,找零方做无限硬币最少张数 DP,再枚举实付金额取最优。
动态规划多重背包完全背包单调队列背包
提高+/省选-2026-10-03 12:38
洛谷P1807
利用每条边都从小编号指向大编号的天然拓扑序,按编号进行 DAG 最长路 DP。
DAG拓扑序动态规划图论python
普及2026-10-03 12:38
洛谷P1048
把每株草药看成只能选一次的物品,按时间做 0/1 背包;记忆化搜索填二维表,一维倒序 DP 把表滚动压缩。
动态规划01背包背包记忆化搜索
普及-2026-10-03 12:38
洛谷P1002
先标记马所在格和马控制格,再用网格 DP 从上方和左方累加合法路径数。
动态规划网格DPpythonc++
普及-2026-10-03 12:38
洛谷P9718
把进位看成数位上的选择:每位取刚好够用的最小数字,用「当前进位状态 + 已用进位次数」的 DP 求最小 y,答案可达 10^35 需用 128 位整数。
数位 DP动态规划构造数学思维
提高2026-10-03 12:37
洛谷P9716
把操作次数记成 c_u,颜色由 c_u 的奇偶决定、相邻两点满足 c_u <= c_{a_u}+[a_u=s];在 s 所在的功能图基环树上做树形 DP,环上用前缀 max 转移。
动态规划 DP基环树树形 DP功能图
省选/NOI-2026-10-03 12:34
洛谷P9247
把每个操作的值看成一段存活区间,先分块双指针求出每个操作被弹出的时刻,再在时间轴上扫描统计颜色数。
分块双指针扫描线数据结构
省选/NOI-2026-10-03 12:11
洛谷P9714
折叠一次后 t 变成关于中心对称的向量,之后每折叠一次只翻倍;于是 b 只能是 x·t + H·(t+reverse(t)) 的形式,解出唯一的非负整数 x,H 再验证即可。
数学推导思维枚举线性组合
普及2026-10-03 12:04
洛谷P9234
每个瓜有「不买 / 买半个(劈一刀) / 买整个」三种去向,重量统一乘 2 化为整数后用折半搜索分别枚举两半并合并,求恰好凑出 2m 的最少劈瓜数。
搜索DFS折半搜索剪枝枚举
普及+/提高-2026-10-03 11:55
洛谷P9713
每维只记录已被切掉的最大坐标,剩余部分始终是长方体,体积等于三个剩余长度之积,单次操作 O(1)。
模拟枚举思维数学
普及-2026-10-03 11:51
洛谷P9238
最少操作数等于 n 以内无平方因子数个数;容斥化为 μ(d)·⌊n/d²⌋ 求和,对 d 分块并用杜教筛求莫比乌斯前缀和,压到 O(n^0.4)。
数论莫比乌斯函数杜教筛整除分块容斥线性筛
省选/NOI-2026-10-03 11:47
洛谷P9240
由 B=⌊A/V⌋ 反推出每条记录的 V 区间 [⌊A/(B+1)⌋+1, ⌊A/B⌋],答案就是所有区间的交集。
数学枚举整除区间推导
普及-2026-10-03 11:38
洛谷P9237
按行优先逐格染色,每填一格立刻检查刚刚被确定的那个 3×3 数字约束,用黑格数与剩余格数上下界剪枝搜索。
搜索DFS回溯剪枝网格
提高+/省选-2026-10-03 11:36
洛谷P9244
按右端点线性扫描,用变量 cnt 单调维护上界 j-K+1 内 c1 出现的次数,遇 c2 累加 cnt,O(n) 计数。
字符串双指针滑动窗口计数枚举优化
普及-2026-10-03 11:36
洛谷P9239
日期统计用贪心找最靠左落点判断子序列,01 串的熵用单调性二分定位峰值附近的两个候选,两问都只需常数级计算。
枚举贪心二分数学思维
普及-2026-10-03 11:33
洛谷P9229
状态图是一棵树:把第 k 个环的桥递归成 T_k = T_{k-1} + T_{k-1},在树上用 O(n^2) 的区间 DP 求起点到终点距离。
树形结构动态规划递推区间 DP状压 BFS
提高2026-10-03 11:28
洛谷P9230
A 题按「半长 + 数位和」统计并按乘法原理合并,B 题以「末尾连续答对数」为状态做线性递推,一次算出一句答案。
计数数位统计动态规划暴力枚举对拍
普及-2026-10-03 11:23