题目列表

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

共 3718 题
OJ题号标题标签难度最后更新解析
RainboyOJ1460
通过字符串哈希 O(1) 检验周期结合线性筛快速质因数分解贪心试除求解子串最短循环节
字符串哈希数论线性筛
提高2026-10-07 11:01
RainboyOJ1448
把每块元件的对角线看成格点之间权为 0 或 1 的边,答案即电源格点到灯泡格点的最短路,用 0-1 BFS 在 O(NM) 内求出。
0-1 BFS最短路图论建模
提高+/省选-2026-10-07 11:01
RainboyOJ1446
枚举列0与主对角线两条素数链锁定每行的首位与第i位,行3用副对角线差值桶过滤,行0由列和反推,最后查素数表。
搜索素数构造剪枝
提高2026-10-07 11:01
RainboyOJ1444
基于 IDA*(迭代加深搜索)与分数不等式上下界剪枝求解最优单位分数拆分。
搜索剪枝IDA*
提高+/省选-2026-10-07 11:01
RainboyOJ1441
通过体积与侧面积不等式估价、最小前缀体积与侧面积界限等多重剪枝优化深度优先搜索。
搜索剪枝DFS
提高+/省选-2026-10-07 11:01
RainboyOJ1442
枚举总和的约数作为原棍长度,用逐根填满的回溯搜索,并靠等长去重、首块失败即失败、填满失败即失败与下标单调四类剪枝把搜索树压到可接受规模。
-提高2026-10-07 11:01
RainboyOJ1443
加法链经典题:每步只能用前面两个数之和向后延伸,要求链最短。用迭代加深 DFS + 双向界剪枝(末值翻倍够不到 n 剪掉、剩余步数翻倍够不到 n 的候选剪掉),从大到小枚举两两之和贪心逼近 n。
搜索迭代加深剪枝加法链
普及+/提高-2026-10-07 11:01
RainboyOJ1439
把最短时间拆成 A→X→Y→D 三段路线,X、Y 是两条传送带上的连续决策点;由距离函数的凸性对下车点、上车点嵌套实数三分搜索,O(log²(1/ε)) 求解。
三分计算几何浮点数python
普及+/提高-2026-10-07 11:01
RainboyOJ1437
两点 t 时刻连通等价于曼哈顿距离不超过 2t,边权取 ceil(d/2),答案为最小生成树的最大边权。
最小生成树计算几何曼哈顿距离
普及+/提高-2026-10-07 11:01
RainboyOJ1435
根据凸函数点态最大值仍为凸函数的性质,在区间 [0, 1000] 上通过三分查找求上包络函数的最小值。
三分查找凸函数
普及+/提高-2026-10-07 11:01
RainboyOJ1436
二分每段和的上限,用 O(n) 贪心判定能否分成不超过 m 段,总复杂度 O(n log Σa)。
二分答案贪心
普及+/提高-2026-10-07 11:01
RainboyOJ1434
二分答案:判定平均数不小于 x 的长度 ≥ L 子段是否存在,转化为前缀和减 x 后的滑动最小值判定,O(n log V)。
二分答案前缀和滑动窗口
普及+/提高-2026-10-07 11:01
RainboyOJ1432
环状均分纸牌经典问题,建立糖果流转平衡方程,通过代数变形将环上流动代价转化为数轴上一点到各点的曼哈顿距离之和,利用中位数贪心求得最小值。
贪心中位数数学
普及+/提高-2026-10-07 11:01
RainboyOJ1430
反悔贪心:作业按截止时间排序逐个接下,超出容量就丢弃学分最小的已选作业,小根堆维护 O(n log n)。
贪心堆排序
普及+/提高-2026-10-07 11:01
RainboyOJ1396
把相邻词的「首个不同字母对」建成有向图,拓扑排序还原密文字母的明文序;每一轮可选字母多于一个或成环就输出 0。
图论拓扑排序字符串
普及+/提高-2026-10-07 11:01
RainboyOJ1390
带权并查集(种类并查集):每个点到根记录 0/1/2 三种关系,在模 3 意义下合并与查询,逐句判定假话。
并查集带权并查集
提高+/省选-2026-10-07 11:01
RainboyOJ1382
边权全正的无向图单源最短路模板:堆优化 Dijkstra 按距离从小到大定型每个点,惰性删除过期堆条目,N 第一次出堆即得答案,复杂度 O(M log M)。
图论最短路Dijkstra堆python
普及+/提高-2026-10-07 11:01
RainboyOJ1379
把道路建成无向带权图,答案即单源最短路;用堆优化的 Dijkstra 在每个点定型时松弛出边,复杂度 O((T+C)log C)。
图论最短路dijkstra
普及+/提高-2026-10-07 11:01
RainboyOJ1377
将同一线路所有前后站点对连单向权值 1 边转化为无权图单源最短路,通过 BFS 求解最少乘车次数。
图论广度优先搜索最短路
普及+/提高-2026-10-07 11:01
RainboyOJ1343
Floyd 求全源最短路,记 R(i) 为 i 到本牧场最远点的距离;枚举连接两个牧场的边 (i,j),答案为 max(原最大直径, R(i)+|p_ip_j|+R(j)) 的最小值。
图论最短路Floydpython
普及+/提高-2026-10-07 11:01
RainboyOJ1306
以 B 序列每个位置作为结尾维护 LCIS 长度与方案,扫描 A 序列时复用当前最优前驱,O(n²) 完成并直接输出序列。
DP最长公共子序列最长上升子序列
普及+/提高-2026-10-07 11:01
RainboyOJ1277
两条 (1,1)→(n,n) 的单调路径按步数同步推进,压成反对角线上的三维 DP f[i][j],重合格用 i≠j 去重。
动态规划多线程DP网格DPpython
普及+/提高-2026-10-07 11:01
RainboyOJ1282
枚舉子矩陣上下邊界,把列壓成一位數組後用 Kadane 求最大子段和,O(N^3) 解決二維最大子矩陣。
最大子段和Kadane二維問題枚舉
提高2026-10-07 11:01
RainboyOJ1274
区间 DP:把石子排列看作连续区间,dp[l][r] 表示合并区间 [l,r] 的最小得分,枚举最后一次合并位置转移。
动态规划区间DP
普及+/提高-2026-10-07 11:01
RainboyOJ1271
二维费用 0/1 背包:状态按需求上限收拢,倒序转移保证每个气缸只用一次,dp[m][n] 即两种气体均达标的最小总重。
DP二维费用背包01背包
普及+/提高-2026-10-07 11:01
RainboyOJ1263
把每对友好城市看成点 (南岸, 北岸),两条航道相交等价于坐标逆序;按南岸排序后求北岸序列的最长不下降子序列,用 tails 数组加二分做到 O(n log n)。
排序二分动态规划最长不下降子序列
普及+/提高-2026-10-07 11:01
RainboyOJ1447
基于位运算状态压缩与最少剩余候选数(MRV)启发式剪枝的 DFS 回溯搜索,求解靶形数独最高得分。
DFS剪枝位运算启发式搜索
提高2026-10-07 11:01
RainboyOJ20024
三连判定只看相邻 3 列,把每列压成 3bit 图案加 3bit 已计入标记,做 3 列滑窗的带状状压 DP。
状态压缩动态规划
提高2026-10-07 10:45
RainboyOJ20020
合法划分等价于全或 T 的每一位在 A、B 中都出现;容斥数坏事件,坏事件交集用并查集压成 2^连通块数。
容斥并查集位运算组合计数
提高2026-10-07 10:45
RainboyOJ19999
f(i,j) 是 y_i、y_j 的加权平均,取值有界可二分;f(i,j)≥v 变形为两个序列的比较,排序后双指针 O(n) 计数求第 k 大。
二分答案双指针排序
普及+/提高-2026-10-07 10:45
RainboyOJ20015
树贪心:权和恰为 k 的连通块等价于权和 ≥k 且奇偶性与 k 相同,后序遍历维护未切区域 O(1) 摘要,能切就切。
树贪心思维
提高2026-10-07 10:45
洛谷T641741
网格 BFS 求单源单汇最短路,边权为 1,墙壁不可通过。
BFS网格图最短路模拟
普及-2026-10-07 10:45
洛谷P17232
按 kirai、daishuki、shuki 的优先级检查子串并顺序模拟气压变化。
字符串模拟
入门2026-10-07 10:45
洛谷P17233
比较分段模拟和树状数组三种维护当前序列的方法,正式主解用树状数组 kth 定位动态排名。
树状数组模拟数据结构
普及2026-10-07 10:45
洛谷P17235
把棋子更新转化为长度恰好 n 的反向可达,用有向环加通向 k 的路径构造方案。
图论构造有向图博弈
普及+/提高-2026-10-07 10:45
洛谷P8742
引入偏移量,把每个砝码可放左边(-w)或右边(+w)转化成带偏移的可行性背包,dp[sum]=true 为初始,统计正可达重量数。
动态规划背包可行性背包
普及+/提高-2026-10-07 10:45
力扣search-insert-position
二分查找 lower_bound,返回第一个 ≥ target 的位置,即插入位置。
二分查找数组
普及-2026-10-07 10:45
力扣n-queens
逐行放置皇后,用三个数组(列、主对角线、副对角线)检测冲突,回溯搜索所有合法方案。
回溯枚举递归
普及+/提高-2026-10-07 10:45
力扣palindrome-partitioning
回溯枚举每段终点,只递归回文前缀,预处理区间回文表加速判断。
回溯枚举字符串动态规划
普及+/提高-2026-10-07 10:45
力扣generate-parentheses
回溯生成括号组合,open < n 放左括号,close < open 放右括号,保证前缀合法。
回溯枚举递归字符串
普及+/提高-2026-10-07 10:45
力扣combination-sum
回溯枚举每个候选数选或不选、选几次,允许重复使用当前数后再推进到下一个候选数。
回溯枚举递归
普及+/提高-2026-10-07 10:45
力扣letter-combinations-of-a-phone-number
回溯枚举每个数字对应的字母选择,递归层数对应数字位置,每层分支数由按键映射决定。
回溯枚举递归
普及2026-10-07 10:45
力扣find-first-and-last-position-of-element-in-sorted-array
两次二分分别找 target 的 lower_bound 与 upper_bound-1,组合得到起止位置。
二分查找数组
普及+/提高-2026-10-07 10:45
力扣find-all-anagrams-in-a-string
固定长度滑动窗口维护 26 维字母计数,窗口进出各一次,O(n)。
哈希表字符串滑动窗口cpppython
普及+/提高-2026-10-07 10:45
力扣longest-substring-without-repeating-characters
滑动窗口记录字符上次出现位置,左指针直接跳到重复字符后,O(n)。
哈希表字符串滑动窗口cpppython
普及+/提高-2026-10-07 10:45
力扣sliding-window-maximum
单调递减队列保存候选下标,过期从队首删,较小候选从队尾删,O(n)。
队列单调队列滑动窗口数组cpppython
提高+/省选-2026-10-07 10:45
力扣subarray-sum-equals-k
前缀和 + 哈希表统计历史前缀出现次数,边扫边累计答案,O(n)。
前缀和哈希表数组cpppython
普及+/提高-2026-10-07 10:45
力扣3sum
排序后固定第一个数,剩余区间用双指针,跳过相同值去重,O(n²)。
双指针排序数组cpppython
普及+/提高-2026-10-07 10:45
力扣container-with-most-water
双指针维护区间,面积由短板决定,每次移动较矮一侧,O(n)。
双指针贪心数组cpppython
普及+/提高-2026-10-07 10:45
力扣move-zeroes
双指针:write 指针收集非零元素,剩余补零,保持非零相对顺序。
双指针数组cpppython
入门2026-10-07 10:45
力扣longest-consecutive-sequence
放入集合,只从 x-1 不存在的起点向后扩展,每个数至多被访问一次,均摊 O(n)。
哈希表集合数组cpp
普及+/提高-2026-10-07 10:45
力扣group-anagrams
为每个单词构造 26 字母计数 key,哈希到同一组;异位词一定有相同的字母构成。
哈希表字符串排序cpp
普及+/提高-2026-10-07 10:45
力扣two-sum
遍历数组时用哈希表保存值到下标的映射,在线查找当前数所需的补数。
哈希表数组pythoncpp
入门2026-10-07 10:45
洛谷P1462
二分允许的最高城市收费,用受限 Dijkstra 检查血量能否到达终点。
二分答案Dijkstra最短路python
普及+/提高-2026-10-07 10:45
洛谷P2419
用位集传递闭包统计每头牛已知强于和弱于的数量。
传递闭包位运算偏序python
普及2026-10-07 10:45
洛谷P3385
从节点 1 运行 SPFA,以最短路边数达到 n 判断可达负环。
负环SPFA最短路python
普及+/提高-2026-10-07 10:45
洛谷P2827
用全局增量抵消统一加 q,并以三个单调队列线性取当前最长蚯蚓。
单调队列偏移量模拟python
提高+/省选-2026-10-07 10:45
洛谷P4053
按截止时间扫描,最大堆维护已选工期;超时则用更短任务替换最长任务。
贪心最大堆调度python
提高2026-10-07 10:45
洛谷P4391
求字符串的最小周期长度。用整个字符串的最长 border 求能够生成接收片段的最短信号周期。
KMP周期border哈希字符串pythoncpp
普及+/提高-2026-10-07 10:45
洛谷P2926
统计每个数值的出现次数,再把每个除数的频次累加到它的所有倍数。
约数倍数枚举计数
普及2026-10-07 10:45