题目列表
可按标题、OJ、标签和启发记录快速筛选题目解析。
| 标题 | OJ | 题号 | 标签 | 难度 | 最后更新 | 原题 |
|---|---|---|---|---|---|---|
按右端点离线处理询问,用树状数组只保留每种颜色在当前前缀中的最后出现位置。 | luogu | P1972 | 普及+/提高 | 2026-06-22 23:16 | 打开 | |
为每个前缀建立可持久化权值线段树,用两个版本的计数差查询区间第 k 小。 | luogu | P3834 | 提高+/省选- | 2026-06-22 23:16 | 打开 | |
用 total/end 两类状态区分总体方案和当前字符接在段内的方案,完成字符串分段 DP。 | luogu | P2679 | 提高+/省选- | 2026-06-22 23:15 | 打开 | |
把片段看成非空二进制向量,递推统计异或和为 0 的有序选择再除以 m!。 | luogu | P3214 | 提高+/省选- | 2026-06-22 23:15 | 打开 | |
先选出和睦情侣与座位行,再用完全不和睦排座数递推处理剩余情侣。 | luogu | P4931 | 普及+/提高 | 2026-06-22 23:15 | 打开 | |
用单调队列维护当前位置前 m 个数的最小值,注意先输出再插入当前元素。 | luogu | P1440 | 普及/提高- | 2026-06-22 23:14 | 打开 | |
用莫队维护当前区间内同色袜子对数量,再与总二元组数量约分得到概率。 | luogu | P1494 | 普及+/提高 | 2026-06-22 23:14 | 打开 | |
把查询记录为左右端点和修改次数,用带修莫队同时移动区间与时间维护不同颜色数。 | luogu | P1903 | 提高+/省选- | 2026-06-22 23:14 | 打开 | |
用 Pascal 递推预处理组合数对 k 的余数,再对可整除位置建立二维前缀和。 | luogu | P2822 | 普及/提高- | 2026-06-22 23:14 | 打开 | |
先以 1 为根求深度和与子树大小,再用换根公式线性求出每个根的深度和。 | luogu | P3478 | 普及+/提高 | 2026-06-22 23:11 | 打开 | |
用树形 DP 计算必须保留每个点时的最大连通块权值,负贡献子树直接剪掉。 | luogu | P1122 | 普及/提高- | 2026-06-22 23:07 | 打开 | |
用树形 DP 维护每个员工选与不选两种状态,父子不能同时选择。 | luogu | P1352 | 普及/提高- | 2026-06-22 22:59 | 打开 | |
对每次能源点集合构建虚树,压缩边权取原路径最小边权,再做树形 DP 求最小切断代价。 | luogu | P2495 | 省选/NOI- | 2026-06-22 22:53 | 打开 | |
对参观顺序中的相邻点路径做树上点差分,汇总后减去每段交界点的重复计数。 | luogu | P3258 | 普及+/提高 | 2026-06-22 22:39 | 打开 | |
预处理每个点的 2^j 级祖先,把每次 K 级祖先查询转化为二进制跳跃。 | luogu | P5903 | 普及+/提高 | 2026-06-22 22:33 | 打开 | |
用 AC 自动机在线识别多个敏感词后缀,并用字符栈和状态栈完成删除后的状态回退。 | luogu | P3121 | 提高+/省选- | 2026-06-22 22:24 | 打开 | |
二分模式长度,用序列双哈希统计固定长度子数组是否有出现至少 K 次的模式。 | luogu | P2852 | 普及+/提高 | 2026-06-22 22:20 | 打开 | |
二分最大付费边长度,把超过阈值的边计为 1,用 0-1 BFS 判断免费额度是否足够。 | luogu | P1948 | 普及+/提高 | 2026-06-22 21:58 | 打开 | |
把卫星电话理解为允许保留 S 个无线连通块,在完全图上 Kruskal 到剩 S 个集合。 | luogu | P1991 | 普及/提高- | 2026-06-22 21:54 | 打开 | |
先建最大生成森林,把最大瓶颈路径转成树上路径最小边权,再用倍增 LCA 回答询问。 | luogu | P1967 | 提高+/省选- | 2026-06-22 21:38 | 打开 | |
按怨气值从大到小加入异组约束,用 2N 并查集找第一条无法避免的冲突边。 | luogu | P1525 | 普及+/提高 | 2026-06-22 21:34 | 打开 | |
把删点操作倒序变成加点操作,用并查集动态维护当前剩余图的连通块数量。 | luogu | P1197 | 普及+/提高 | 2026-06-22 21:28 | 打开 | |
按要求区间右端点升序处理,若区间内树数不足,就从右往左补树。 | luogu | P1250 | 普及/提高- | 2026-06-22 21:17 | 打开 | |
按 SPF 升序扫描防晒霜,用小根堆优先匹配 maxSPF 最小、最快过期的奶牛。 | luogu | P2887 | 普及/提高- | 2026-06-22 21:13 | 打开 | |
按比赛结束时间升序排序,每次选择当前能参加且结束最早的比赛。 | luogu | P1803 | 普及- | 2026-06-22 21:07 | 打开 | |
二分最大段和,用从左到右尽量装满当前段的贪心检查最少段数。 | luogu | P1182 | 普及/提高- | 2026-06-22 20:57 | 打开 | |
按截止时间排序,若已选工作数超过当前截止时间,就用小根堆删掉利润最小的工作。 | luogu | P2949 | 普及+/提高 | 2026-06-22 20:53 | 打开 | |
把奖金递推看成两机流水作业,使用 Johnson 法则分组排序后线性模拟。 | luogu | P2123 | 普及+/提高 | 2026-06-22 20:43 | 打开 | |
用相邻交换证明按 a*b 升序排列大臣,Python 大整数直接维护前缀左手乘积。 | luogu | P1080 | 普及+/提高 | 2026-06-22 20:40 | 打开 | |
把包含位置且长度受限的区间转成前缀和坐标中的梯形区域,用 ST 表和单调队列线性求每个询问。 | luogu | P14638 | 省选/NOI- | 2026-06-22 20:34 | 打开 | |
按 mex 基础层从大到小做树形 DP,并用长链剖分维护同深度的最优传递链。 | luogu | P14637 | 省选/NOI- | 2026-06-22 20:07 | 打开 | |
按失败人数做 DP,用 pending 延后结算大耐心人群,并在阈值增加时用组合数归属具体人员。 | luogu | P14364 | 省选/NOI- | 2026-06-22 19:59 | 打开 | |
把规则和询问都转成字符对串,用 AC 自动机匹配,再在 fail 树上按长度阈值离线计数。 | luogu | P14363 | 省选/NOI- | 2026-06-22 19:52 | 打开 | |
枚举被城市化的乡镇集合,并用原图 MST 替换性质把每次 Kruskal 的原图边压缩到 n-1 条。 | luogu | P14362 | 提高+/省选- | 2026-06-22 19:46 | 打开 | |
先让每个人去最满意的部门,若唯一超员部门超过上限,就按最小转出损失修正。 | luogu | P14361 | 普及+/提高 | 2026-06-22 19:41 | 打开 | |
把连续编号区间的 LCA 深度转成相邻 LCA 深度数组的区间最小值,再离线二分答案。 | luogu | P11364 | 省选/NOI- | 2026-06-22 19:30 | 打开 | |
把边遍历看成线图 DFS 树计数,先算单根方案,再用树形 DP 统计关键边对的重复贡献。 | luogu | P11363 | 提高+/省选- | 2026-06-22 19:19 | 打开 | |
用一元固定点切分变量链,相邻固定点区间用总方案减唯一强制失败链计数。 | luogu | P11362 | 普及+/提高 | 2026-06-22 19:11 | 打开 | |
把连续可交换位置压成区间容量,分别贪心匹配同为 1 和同为 0 的最大数量。 | luogu | P11361 | 普及+/提高 | 2026-06-22 19:01 | 打开 | |
把赛程看成满二叉树,预处理确定赢家与自由前缀,再用差分统计每个叶子可能夺冠的前缀区间。 | luogu | P11234 | 省选/NOI- | 2026-06-22 18:45 | 打开 | |
把两种颜色的历史压成另一色最后值 DP,并用最大/次大状态 O(1) 查询排除当前值后的最优转移。 | luogu | P11233 | 提高+/省选- | 2026-06-22 18:36 | 打开 | |
用速度平方把每辆车能被检测到的位置转成测速仪区间,再用右端点贪心求最少保留测速仪。 | luogu | P11232 | 普及+/提高 | 2026-06-22 18:29 | 打开 | |
把有效攻击看成强牌匹配弱牌,排序后用双指针求最多能击败多少只怪兽。 | luogu | P11231 | 普及/提高- | 2026-06-22 18:23 | 打开 | |
把购买拆成最便宜的两颗组和若干个单颗项,预处理奇偶最优值后二分答案。 | luogu | P14635 | 普及+/提高 | 2026-06-22 17:57 | 打开 | |
按原价降序刻画贪心失败的关键交换对,用组合数统计坏定价方案后从 2^n 中扣除。 | luogu | P14636 | 提高+/省选- | 2026-06-22 17:57 | 打开 | |
先把打乱后的座位顺序映射成原座位下标序列,再把不满值转化成这个整数序列的逆序对数量。 | luogu | P5149 | 普及+/提高 | 2026-06-21 15:31 | 打开 | |
利用每轮比赛前排名有序的性质,打完后胜者组和败者组各自仍有序,再线性归并回新排名。 | luogu | P1309 | 普及+/提高 | 2026-06-21 15:27 | 打开 | |
把 01 串的最长不下降子序列转成前缀差值区间最大值,最长上升子序列则只需判断是否存在 0 在 1 前面。 | luogu | P7809 | 提高+/省选- | 2026-06-21 14:58 | 打开 | |
把极大极小乘积按 B 区间符号分三类讨论,只需在 A 区间查询最值、最小正数、最大负数和是否有零。 | luogu | P8818 | 提高+/省选- | 2026-06-21 14:48 | 打开 | |
按 b_i 从大到小离线,把满足 a_j >= 当前阈值的位置加入有序集合,再查询环上最近活跃点距离。 | luogu | P7333 | 普及+/提高 | 2026-06-21 14:44 | 打开 | |
按 N 与 M 的大小分类,把条件改写成在前半串循环串中匹配一段前后缀,再用 KMP 与哈希统计可行配对。 | luogu | P3318 | 提高+/省选- | 2026-06-21 14:34 | 打开 | |
按被询问到的每个 k 分开离线模拟,只维护该 k 的向后串计数;合并分裂时只更新边界附近 k-1 个起点。 | luogu | P3823 | NOI/NOI+/CTSC | 2026-06-21 14:25 | 打开 | |
枚举删除的那一位,把删掉该位后相同的字符串分到同一组,每组贡献组合数。 | luogu | P4503 | 普及+/提高 | 2026-06-21 14:19 | 打开 | |
先按全 # 边框切出所有窗口,再把每个窗口在允许旋转下做最小表示,用集合统计不同图案个数。 | luogu | P3678 | 普及/提高- | 2026-06-21 14:15 | 打开 | |
把所有 DNA 串拼接后按长度 k 的前缀分组,统计每个相同碱基串在各物种中的出现次数,再做组合计数。 | luogu | P8643 | 提高+/省选- | 2026-06-21 14:08 | 打开 | |
利用插入字符只会落在中间分界线两侧之一,分别线性判断两种情况,再分类讨论唯一性。 | luogu | P6739 | 普及+/提高 | 2026-06-21 14:01 | 打开 | |
先求每个后缀有多长前缀能作为 s 的子序列,再按后缀字典序和两两 LCP 去重统计不同字符串。 | luogu | P7469 | 提高+/省选- | 2026-06-21 13:46 | 打开 | |
把长度为 8 的子串和密码都转成 26 个字母的计数签名,再用滑动窗口统计每种签名出现次数。 | luogu | P8630 | 普及/提高- | 2026-06-21 13:43 | 打开 | |
利用字典保持插入顺序的特性,用 dict.fromkeys 一步完成保序去重。 | luogu | P4305 | 入门 | 2026-06-21 13:40 | 打开 | |
枚举跳跃高度和连跳次数,在固定参数下对位置与当前连跳进度做记忆化搜索,最后减去升级费用并比较最优方案。 | luogu | P3257 | 提高+/省选- | 2026-06-21 13:32 | 打开 |