题目列表
可按标题、OJ、标签和启发记录快速筛选题目解析。
| OJ | 题号 | 标题 | 标签 | 难度 | 最后更新 | 解析 |
|---|---|---|---|---|---|---|
P8686 | 把每个数出现后占掉这个位置,并查集维护“从某个值开始往后第一个没被占用的位置”,从而快速找到修改后的最小可行值。 | 普及 | 2026-10-07 12:15 | |||
P6121 | 把关闭谷仓的过程倒过来看成重新开门,按倒序激活点并用并查集维护当前开着的连通块数量。 | 普及+/提高- | 2026-10-07 12:15 | |||
P7771 | 先判定有向欧拉路存在条件,再把每个点的出边按升序走 Hierholzer,最后逆序得到字典序最小的欧拉路径。 | 普及+/提高- | 2026-10-07 12:15 | |||
P7113 | 在 DAG 上按拓扑序传播精确分数流量,每个点把当前污水均分给所有出边,最后统计所有汇点的分数结果。 | 普及 | 2026-10-07 12:15 | |||
P1038 | 按拓扑序模拟神经元信号传播,只有 `C[i] > 0` 的点才向后继传值,非输入层先扣掉自己的阈值。 | 普及+/提高- | 2026-10-07 12:15 | |||
P6145 | 把记忆约束建成带权 DAG,在拓扑序上做最长路转移,`dp[i]` 表示第 i 次挤奶能安排的最早日期。 | 普及 | 2026-10-07 12:15 | |||
P2712 | 把“某摄像头所在位置被别的摄像头监视”建成有向边,反复删除入度为 0 的点,最后剩下的摄像头数就是答案。 | 普及 | 2026-10-07 12:15 | |||
P8893 | 把每条推荐规则看成依赖一组前提题的规则节点,维护未满足前提数和前提最大完成天数,单调传播每道题的最早完成日。 | 普及 | 2026-10-07 12:15 | |||
P1776 | 把每种宝物的件数做二进制拆分,转成若干件 0/1 物品后,再做一维 0/1 背包。 | 普及+/提高- | 2026-10-07 12:15 | |||
P8815 | 先用调度场算法把中缀表达式转成后缀,再由后缀建出语法树,最后在树上按短路语义 dfs 求值,只统计真正访问到的子树里的短路次数。 | 普及+/提高- | 2026-10-07 12:15 | |||
P9751 | 把状态设成 (点, 当前时刻 mod k),在状态图上跑 Dijkstra,转移时把时间补到不早于开放时刻且同余不变的最早值。 | 普及+/提高- | 2026-10-07 12:15 | |||
P8604 | 先用 Tarjan 建圆方树,再统计 x 到 y 在圆方树路径上经过了多少个原图割点。 | 普及- | 2026-10-07 12:15 | |||
P1622 | 给释放名单两端补哨兵,设 dp[l][r] 表示释放两边界之间所有目标囚犯的最小代价,枚举第一个释放点。 | 普及+/提高- | 2026-10-07 12:15 | |||
P3146 | 设 dp[l][r] 表示区间 [l, r] 整体能合成出的最大值,枚举最后一次合并的断点,把两个相等子区间向上合并。 | 普及+/提高- | 2026-10-07 12:15 | |||
P5322 | 把每个城堡的对手兵力排序并合并相同值,转成若干个阈值台阶,再做分组背包求最大得分。 | 普及+/提高- | 2026-10-07 12:15 | |||
P5365 | 把每个英雄的皮肤选择看成分组背包,按总花费做 DP,记录最多能得到多少种展示方式。 | 普及 | 2026-10-07 12:15 | |||
P6771 | 先按允许高度排序,再用多重 01 背包判断哪些电梯高度可达。 | 普及 | 2026-10-07 12:15 | |||
P2904 | 把每个分组大小看成完全背包物品,预处理一趟运送的总时间后做最小值 DP。 | 普及- | 2026-10-07 12:15 | |||
P2946 | 按余数做 0/1 计数 DP,统计总能力对 F 取模为 0 的非空子集数。 | 普及- | 2026-10-07 12:15 | |||
P1679 | 把每个四次方数看成可以重复使用的物品,按数字 m 做一维完全背包,维护凑出 j 的最少项数。 | 普及- | 2026-10-07 12:15 | |||
P2430 | 先把每道题的耗时按水平倍率换算出来,再把奖励当价值、耗时当容量做一维 0/1 背包。 | 普及- | 2026-10-07 12:15 | |||
P1926 | 先用 0/1 背包求达到及格线所需的最少作业时间,再把剩余时间留给耗时最短的喜欢题。 | 普及- | 2026-10-07 12:15 | |||
P1164 | 把每种菜看成只能选一次的物品,倒序做计数 0/1 背包,统计恰好花完 M 元的方案数。 | 普及- | 2026-10-07 12:15 | |||
P1233 | 先按长度降序、同长度按宽度降序排序,再在宽度序列上求最长严格上升子序列长度,它等于最少需要开的加工链数。 | 普及 | 2026-10-07 12:15 | |||
P1140 | 设 `dp[i][j]` 为两条序列前缀的最大相似度,最后一列只会来自字符对字符、字符对空位、空位对字符三种转移。 | 普及 | 2026-10-07 12:15 | |||
P1103 | 按高度排序后,设 `dp[i][j]` 为保留 i 本且最后一本是第 j 本时的最小不整齐度,枚举上一本转移。 | 普及 | 2026-10-07 12:15 | |||
P1569 | 设 `dp[i]` 表示前 i 头牛最多能分成多少组,枚举最后一组起点并用前缀和判断区间和是否非负。 | 普及- | 2026-10-07 12:15 | |||
P1808 | 把每个单词内部字母排序成标准形,用集合统计不同标准形的个数,就是不同类别数。 | 普及- | 2026-10-07 12:15 | |||
P1603 | 把数字单词映射成数字后平方模 100,格式化为两位块排序拼接并去掉整体前导零。 | 普及- | 2026-10-07 12:15 | |||
P1308 | 在文章两端补空格后查找带空格的目标单词,从而实现不区分大小写的整词匹配。 | 普及- | 2026-10-07 12:15 | |||
P2919 | 把相同高度且 8 连通的格子缩成一个平台,flood fill 这一整块时只要发现周围有更高格子,它就不是山顶。 | 普及+/提高- | 2026-10-07 12:15 | |||
P1123 | 把每一行选哪些格子压成状态,只保留行内不相邻的状态,再做相邻两行之间的兼容性 DP。 | 普及 | 2026-10-07 12:15 | |||
P2895 | 先预处理每个格子的最早摧毁时间,再在“到达时间必须严格早于摧毁时间”的约束下做 BFS,第一个到达的永不摧毁格即答案。 | 普及 | 2026-10-07 12:15 | |||
P1332 | 把所有感染源同时作为 BFS 起点,一次多源 BFS 预处理整张图,再直接回答每个领主的感染时间。 | 普及- | 2026-10-07 12:15 | |||
P3395 | 给每个格子记录最早落障时间,从起点 BFS,并只在到达时间仍早于落障时间时进入该格子。 | 普及 | 2026-10-07 12:15 | |||
P1443 | 把棋盘看成无权图,从起点做一次 BFS 按层扩展,就能同时求出马到所有格子的最短步数。 | 普及- | 2026-10-07 12:15 | |||
P7910 | 利用插入排序的稳定性维护按 (值, 原下标) 排序的普通数组,通过二分查找回答排名。 | 普及 | 2026-10-07 12:15 | |||
P8831 | 把答案拆成完整年份、完整月份和当月已过天数,再对 1582 年换历与缺失 10 天分段处理。 | 普及- | 2026-10-07 12:15 | |||
P2692 | 先用差分统计有多少行和多少列被覆盖,再用容斥计算最终被打扫的方格数。 | 普及- | 2026-10-07 12:15 | |||
P1097 | 先把所有数字排序,让相同数字连续出现,再线性扫描统计每个数字的出现次数。 | 普及- | 2026-10-07 12:15 | |||
P8813 | 连续乘法时做上界截断;一旦超过 10^9 就输出 -1,a >= 2 时最多乘约 30 次。 | 普及- | 2026-10-07 12:15 | |||
P1029 | 设 P=x0*a、Q=x0*b 后可化成 a*b=y0/x0 且 gcd(a,b)=1,答案就是 y0/x0 的不同质因子个数对应的 2^k。 | 普及- | 2026-10-07 12:15 | |||
P1217 | 利用偶数位回文除 11 外都不是质数的性质,只构造少量奇数位回文再试除判素。 | 普及- | 2026-10-07 12:15 | |||
P1619 | 逐行提取字符串中的数字形成整数,超过 4e7 直接报大,否则做素数判断并按升序输出质因数分解。 | 普及- | 2026-10-07 12:15 | |||
P9750 | 把较大根统一成 -b/(2a)+sqrt(Delta)/(2|a|),再用质因数分解或倒序枚举两种方式提净判别式里的平方因子并格式化输出。 | 普及- | 2026-10-07 12:15 | |||
P1293 | 把人数当作权重后,最优聚会地点就是距离轴上的带权中位数。 | 普及- | 2026-10-07 12:15 | |||
P1851 | 从 s 开始枚举,用试除法求真约数和,找到第一对互为真约数和的友好数。 | 普及- | 2026-10-07 12:15 | |||
P2985 | 二分最低睡前幸福值,用每天吃到刚达标就停止的贪心检查可行性并构造吃巧克力日期。 | 普及 | 2026-10-07 12:15 | |||
P1678 | 排序学校分数线后,对每个学生二分找到左右相邻候选,累加最近分数线差值。 | 普及- | 2026-10-07 12:15 | |||
P2367 | 把多次区间加分转成差分数组的两个端点修改,最后前缀还原并维护最低成绩。 | 普及- | 2026-10-07 12:15 | |||
P5542 | 用二维差分把每个半开矩形覆盖变成四个边界修改,再用二维前缀和还原并统计恰好 K 层的格子。 | 普及 | 2026-10-07 12:15 | |||
P3068 | 把已邀请奶牛作为传播源,用队列维护新邀请的奶牛,并在每个组只剩一头未邀请时触发继续邀请。 | 普及 | 2026-10-07 12:15 | |||
P1147 | 利用正整数区间和随左右端点单调变化的性质,用同向双指针枚举所有和为 M 的连续段。 | 普及- | 2026-10-07 12:15 | |||
P1901 | 分别用单调栈求每个发射站左右最近更高站,再把能量累加到对应接收站上。 | 普及 | 2026-10-07 12:15 | |||
P4387 | 按入栈序列依次压栈,并在每次压栈后尽可能把栈顶与目标出栈序列匹配。 | 普及- | 2026-10-07 12:15 | |||
P3056 | 从左到右统计前缀失衡次数,再用剩余的左括号数量除以二补上最少翻转数。 | 普及- | 2026-10-07 12:15 | |||
P2058 | 把最近 24 小时内的所有乘客维护成滑动窗口,用队列删过期乘客、用计数数组统计不同国家数。 | 普及 | 2026-10-07 12:15 | |||
P14359 | 贪心: 最大不相交区间数量, 数学: 异或区间和,异或前缀和 | 普及/提高- | 2026-10-07 12:15 | |||
P4015 | - | 提高+/省选- | 2026-10-07 12:15 | |||
2506 | 普及 | 2026-10-07 12:15 |