题目列表

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

共 1956 题
标题OJ题号标签难度最后更新原题
按指令顺序回溯分配服务器,并始终按编号从小到大尝试,第一次找到的完整方案就是字典序最小解。
luoguP8838
dfs枚举构造
普及-2026-06-19 09:04打开
把可走格子看成无权图上的点,从起点做 BFS 记录父节点,再从终点回溯输出一条可行路径。
luoguP6207
bfs网格图论
普及-2026-06-19 08:59打开
按行递归放皇后,用列和两条对角线数组快速判断当前位置能不能放,并按搜索顺序输出前三个解。
luoguP1219
dfs递归经典题位运算python
普及+/提高2026-06-19 08:54打开
把每一行选哪些格子压成状态,只保留行内不相邻的状态,再做相邻两行之间的兼容性 DP。
luoguP1123
dp状态压缩网格
普及+/提高2026-06-19 08:49打开
把滚轮相切关系建成图,从驱动轮到目标轮找到唯一路径,再按半径比递推各滚轮转速并累加绝对值。
luoguP2903
图论dfs模拟USACO
普及+/提高2026-06-19 08:42打开
把第 t 天的值看成目标点周围曼哈顿半径 t 菱形区域的 gcd,再按目标值的质因子求最早被周围格子消掉的时间。
luoguP7243
数学最大公约数思维曼哈顿距离Pollard Rho
提高+/省选-2026-06-19 08:34打开
先预处理每个格子的最早摧毁时间,再在“到达时间必须严格早于摧毁时间”的约束下做 BFS。
luoguP2895
bfs最短路图论坐标搜索思维python
普及/提高-2026-06-19 08:30打开
把所有感染源同时作为 BFS 起点,一次多源 BFS 预处理整张图,再直接回答每个领主的感染时间。
luoguP1332
bfs最短路图论网格多源bfs
普及-2026-06-19 08:26打开
把楼层看成无权图节点,每层向上和向下各连一条边,从起点做一次 BFS 求最少按键次数。
luoguP1135
bfs最短路图论python
普及-2026-06-19 08:22打开
给每个格子记录最早落障时间,从起点 BFS,并只在到达时间仍早于落障时间时进入该格子。
luoguP3395
bfs最短路图论网格思维
普及/提高-2026-06-19 08:16打开
把坐标点看成无权图节点,从共同终点 (1,1) 反向 BFS 一次后,直接查两匹马起点的最短路。
luoguP1747
bfs最短路图论坐标搜索
入门2026-06-19 08:11打开
把可走格子看成无权图的点,从起点做一次 BFS,第一次到达终点时的步数就是最短路。
luoguP1746
bfs最短路图论网格
普及-2026-06-19 08:07打开
把棋盘看成无权图,从起点做一次 BFS,就能同时求出马到所有格子的最短步数。
luoguP1443
bfs最短路图论模板题python
普及-2026-06-19 08:03打开
顺着题意模拟,但只要糖果能轮到第二头牛,第一头牛就会翻倍,因此整行扫描的轮数很少。
luoguP9974
模拟贪心usaco
普及-2026-06-19 06:10打开
利用插入排序的稳定性维护按 (值, 原下标) 排序的普通数组,通过二分查找回答排名。
luoguP7910
排序模拟思维cspjpython
普及/提高-2026-06-19 03:08打开
把每层有楼梯的房间压成一个循环数组,用 x 对楼梯总数取模后直接跳到下一层房间。
luoguP1076
模拟思维noip
普及-2026-06-19 03:05打开
直接按题目规则模拟 m 次洗牌,再从洗完后的牌堆中按发牌位置取出第 p 个玩家的 4 张牌。
luoguP2348
模拟
入门2026-06-19 03:02打开
按时间排序并按店铺分组处理,只在有订单的时刻更新对应店铺,中间空档一次性扣分。
luoguP8685
模拟排序
普及-2026-06-19 02:58打开
把答案拆成完整年份、完整月份和当月已过天数,再对 1582 年换历与缺失 10 天分段处理。
luoguP8831
模拟数学思维
普及-2026-06-19 02:47打开
按日期统计每天原计划首学人数,再把特殊日顺延和复习偏移都压成批量计数转移,避免逐单词模拟。
luoguP9553
模拟计数推导
普及+/提高2026-06-19 02:45打开
每次取最左上仍未覆盖的黑格,它只能对应印章最左上的凸点,于是贪心删去这一整次盖章。
luoguP3585
贪心模拟思维
普及/提高-2026-06-19 02:40打开
按给定顺序逐个安排操作,在工件前序完成后寻找目标机器最早连续空闲时间段。
luoguP1065
模拟调度python
普及/提高-2026-06-19 02:34打开
稳定病毒只可能是本细胞最强病毒;可行病毒则枚举终点细胞,判断所有更强病毒能否被更弱的安全病毒逐个消灭。
luoguP9287
思维构造
提高+/省选-2026-06-19 02:18打开
最少操作次数等于高度数组相邻差分中的所有正增量之和。
luoguP1969
贪心差分思维noip
普及/提高-2026-06-19 02:12打开
把每次询问转成一次行循环位移和一次列循环位移,后续查询只需回放这些历史操作求当前坐标。
luoguP7186
模拟思维
普及/提高-2026-06-19 02:04打开
先确定目标格子所在的螺旋层,再按它位于该层哪条边,用分段公式直接计算编号。
luoguP2239
模拟数学思维noip
普及-2026-06-19 01:59打开
把六个面分别当作 3x3 数组,按题目定义逐步模拟四种转动,每步拆成侧面循环置换和本面旋转。
luoguP2007
模拟思维
普及+/提高2026-06-19 01:45打开
按操作顺序直接模拟移动、过路结算、建造升级和轮末收益,维护建筑拥有者、等级与价值即可。
luoguP8874
模拟思维
普及/提高-2026-06-19 01:38打开
把学生保存为记录,按总分降序、语文降序、学号升序排序后输出前五名。
luoguP1093
排序模拟python
入门2026-06-19 01:35打开
用 set 去重,再用 sorted 得到从小到大的不同随机数。
luoguP1059
排序去重python
入门2026-06-19 01:32打开
按路程前缀计算到当前至少需要买多少整数升油,每次新增的升数都在此前最便宜的站点购买。
luoguP9749
贪心前缀和思维
普及/提高-2026-06-19 01:27打开
用小根堆维护每个水龙头当前最早空闲的时间,下一位同学总是接到最先空闲的龙头。
luoguP1190
模拟
普及-2026-06-19 01:24打开
从左到右贪心处理相邻两盒的和,超出 x 时优先减少当前盒,避免影响已经处理好的左侧。
luoguP3817
贪心模拟python
普及-2026-06-19 01:20打开
预处理每行改成 W/B/R 的代价,再枚举白蓝红三段的两个分界位置求最小修改数。
luoguP3392
枚举前缀和模拟python
普及-2026-06-19 01:17打开
先用差分统计有多少行和多少列被覆盖,再用容斥计算最终被打扫的方格数。
luoguP2692
差分容斥模拟
普及-2026-06-19 01:15打开
区间查询时统计每个数出现次数,维护出现次数最大且数值最小的那个数;修改直接单点赋值。
luoguP2681
模拟枚举
入门2026-06-19 01:11打开
先算出加入 s1 后的双方气势差,再枚举第二次投放位置,比较加入 s2 后的差值绝对值。
luoguP5016
模拟枚举
普及-2026-06-19 01:07打开
按需求码长度把每本书的后缀分类,预处理每种后缀能对应到的最小图书编码后回答查询。
luoguP3955
模拟枚举
普及-2026-06-19 01:03打开
按性别把身高分成两组,再分别按从矮到高排序后输出。
luoguP5412
排序模拟
入门2026-06-19 01:02打开
利用回文日期的结构直接由年份反推月份和日期,再判断是否为真实日期并检查是否落在区间内。
luoguP2010
枚举模拟
普及-2026-06-19 00:55打开
把玩具小人看成环形序列,根据当前朝向和指令方向是否相同,用取模更新位置。
luoguP1563
模拟环形处理python
普及-2026-06-19 00:49打开
先判断总人数是否落在可行范围内,再统计总缺口和总超额,答案就是两者的较大值。
luoguP1109
思维贪心
普及/提高-2026-06-19 00:43打开
先把所有数字排序,让相同数字连续出现,再线性扫描统计每个数字的出现次数。
luoguP1097
排序枚举
普及-2026-06-19 00:39打开
枚举第一个三位数 x,再检查 x、2x、3x 是否刚好使用了数字 1 到 9 各一次。
luoguP1008
枚举构造
入门2026-06-19 00:30打开
用树状数组维护 0..600 的成绩频率,并通过第 k 小查询在线求当前获奖分数线。
luoguP7072
树状数组计数模拟python
普及-2026-06-19 00:26打开
利用后铺地毯在上面的性质,从编号大的地毯往前枚举,第一个覆盖查询点的就是答案。
luoguP1003
模拟枚举
入门2026-06-19 00:21打开
直接枚举三个不同位置的数字,检查三数和是否不超过 m,并维护最大的合法和。
luoguP6437
枚举模拟
入门2026-06-19 00:15打开
先求第一个长度为 m 的窗口和,再滑动窗口维护所有连续 m 项和的最小值。
luoguP1614
滑动窗口枚举列表python
入门2026-06-18 23:59打开
先预处理每一行和每一列的敌人数总和,再在所有空位上取行和加列和的最大值。
luoguP2356
模拟枚举
普及-2026-06-18 23:54打开
逐个计算相邻差值,用集合判重并检查差值是否落在 1 到 n-1。
luoguP1152
模拟集合python
入门2026-06-18 23:50打开
按月份模拟手中现金和存款,失败立即输出负月份,全年成功后结算 20% 利息。
luoguP1089
模拟思维python
普及-2026-06-18 23:46打开
用差分数组记录每个删树区间的覆盖边界,再前缀扫描统计未被覆盖的位置。
luoguP1047
差分模拟列表python
入门2026-06-18 23:34打开
按操作倒序逆推数组,普通加乘分别用减除还原,而自加与自乘要特判成除以 2 和开平方。
luoguP8318
模拟思维
普及-2026-06-18 23:28打开
把每条狗的行为看成“暴躁若干分钟、安静若干分钟”的循环,用取模判断到达时刻落在哪一段。
luoguP6386
模拟数学
入门2026-06-18 23:24打开
枚举区间内每个整数,再逐位统计其中数字 2 的出现次数并累加。
luoguP1179
模拟枚举
入门2026-06-18 23:20打开
先拆出负号,用字符串切片反转数字部分,再用 int 自动去掉前导零。
luoguP1307
模拟字符串python
入门2026-06-18 23:15打开
顺序扫描数组,相邻两项差为 1 时延长当前段,否则从当前位置重新计数。
luoguP1420
模拟枚举列表python
入门2026-06-18 23:11打开
把 n 看成二进制位权之和;若 n 为奇数就必然需要用到 1 无解,否则直接按二进制拆成若干不同的 2 的幂。
luoguP7071
数学二进制构造
普及-2026-06-18 22:56打开
连续乘法时做上界截断;一旦超过 10^9 就输出 -1,a >= 2 时最多乘约 30 次。
luoguP8813
数学模拟
普及-2026-06-18 22:47打开
先把三个数排序,再看两个相邻差值;若差值相等就补后继项,否则在较大的空档中间补数。
luoguP6352
模拟枚举排序
入门2026-06-18 22:41打开