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