题目列表
可按标题、OJ、标签和启发记录快速筛选题目解析。
| 标题 | OJ | 题号 | 标签 | 难度 | 最后更新 | 原题 |
|---|---|---|---|---|---|---|
使用DP计数恰好装满背包的排列方案数,先枚举容量再枚举物品,dp[c]+=dp[c-v]累加不同顺序的方案,对1e9+7取模。 | luogu | U663733 | 普及- | 2026-08-08 23:11 | 打开 | |
多重背包模板题,数据范围扩大(N,V,s≤1000),需用二进制分组将每种物品拆分成 O(log s) 个 01 物品。 | luogu | U663791 | 普及+/提高 | 2026-08-08 23:11 | 打开 | |
多重背包模板题,数据极大需用单调队列优化,按体积余数分组,滑动窗口维护最优前驱状态,O(NV)。 | luogu | U663797 | 提高 | 2026-08-08 23:11 | 打开 | |
按 v 排序消掉 max,每头牛只与前面牛配对,两个树状数组维护坐标数量与坐标和。 | luogu | P2345 | 普及+/提高 | 2026-08-05 14:35 | 打开 | |
每个圆盘的溢出去向唯一(下方第一个更大直径),构成链式森林,倍增 + 容量前缀和回答查询。 | luogu | P7167 | 普及+/提高 | 2026-08-05 13:35 | 打开 | |
分治求最近点对:左右递归取 d,合并时只检查分界线 d 内窄条,按 y 排序相邻比较。 | luogu | P1257 | 普及- | 2026-08-05 13:05 | 打开 | |
子树变 Euler 区间版本差,路径用根到点版本四根容斥,可持久化 01-Trie 回答最大异或。 | luogu | P4592 | NOI/NOI+/CTSC | 2026-08-05 12:40 | 打开 | |
经典 BFS 网格可达性:从 (1,1) 出发逐层扩展,判断能否到达 (n,m)。 | luogu | B3625 | 普及- | 2026-08-05 11:35 | 打开 | |
每个格子指向唯一下一格的函数图,用三色标记 DFS 记忆化判环,q 次询问 O(1) 回答。 | luogu | B4386 | 入门 | 2026-08-05 11:35 | 打开 | |
DFS 回溯枚举所有简单路径,按 上左下右 方向序输出全部路线,无路输出 -1。 | luogu | P1238 | 普及/提高- | 2026-08-05 11:35 | 打开 | |
并查集判断设计图是否为一棵树:任意两点有且仅有一条路径,即无环且连通。 | luogu | P2307 | 普及+/提高 | 2026-08-05 11:35 | 打开 | |
每行 A[i]+B[j] 有序,用最小堆多路归并 N 条有序流,弹 N 次取最小 N 个和。 | luogu | P1631 | 普及+/提高 | 2026-08-05 09:50 | 打开 | |
前缀和 + ST 表区间最值 + 堆分裂区间,贪心取前 k 大子数组和。 | luogu | P2048 | NOI/NOI+/CTSC | 2026-08-05 09:50 | 打开 | |
2N-1 时限等价于只能向右/向下,网格 DP 求最小费用,越界来源按 INF 处理。 | acwing | 1018 | 普及- | 2026-08-04 12:50 | 打开 | |
网格路径 DP:每个格子只从上方或左方走来,dp[i][j] = max(dp[i-1][j], dp[i][j-1]) + a[i][j]。 | acwing | 1015 | 普及- | 2026-08-04 12:40 | 打开 | |
编号天然是拓扑序,按终点递推 f[i] = max(f[j] + a[i]),用 pre 数组还原最优路径。 | luogu | P2196 | 普及/提高- | 2026-08-04 11:10 | 打开 | |
把余额 DP 维护成离散凸函数,用斜率堆完成拉格朗日最优化并二分可行题数。 | shumeng | CSP202509E | 提高+/省选- | 2026-07-31 16:22 | 打开 | |
同时比较集合本身与异或值是否相等,判断异或判等方法是否正确。 | shumeng | CSP202512A | 未知 | 2026-07-31 16:22 | 打开 | |
由于状态只有 512 个,预计算所有输入经过参数序列后的输出,再建立输出到输入的逆映射。 | shumeng | CSP202512B | 未知 | 2026-07-31 16:22 | 打开 | |
逆序还原旋转与翻转操作,用四种逻辑方向表示整图旋转,避免重复搬运大矩阵。 | shumeng | CSP202512C | 未知 | 2026-07-31 16:22 | 打开 | |
将 C 形阵参数化为指数向量,利用乘法函数前缀和与 Min_25 筛统计所有方案及完美方案。 | shumeng | CSP202512D | 未知 | 2026-07-31 16:22 | 打开 | |
使用与 C 形阵基础版相同的乘法函数容斥和 Min_25 质因数递归,支持 n<=10^10。 | shumeng | CSP202512D2 | 未知 | 2026-07-31 16:22 | 打开 | |
在二进制 Trie 上递归计算异或阈值冲突图的最大团,并缓存跨子 Trie 状态支持合并。 | shumeng | CSP202512E | 提高+/省选- | 2026-07-31 16:22 | 打开 | |
逐位统计每个正整数二进制表示中的 0 和 1,数量相等时计数。 | shumeng | CSP202603A | 未知 | 2026-07-31 16:22 | 打开 | |
灵活任务按单位咖啡收益率排序,普通任务用 0/1 背包选择,再合并两类任务的最大收益。 | shumeng | CSP202603B | 未知 | 2026-07-31 16:22 | 打开 | |
用按长度排序的空闲区间维护 best-fit 分配器,并记录每个进程接口的循环写入位置。 | shumeng | CSP202603C | 未知 | 2026-07-31 16:22 | 打开 | |
利用 f(n) 的逐位公式,把区间数位平移转化为线段树上的模 k 线性维护。 | shumeng | CSP202603D | 提高+/省选- | 2026-07-31 16:22 | 打开 | |
复制维修站边界后用并查集合并维修道路,维护站点间路径段从两条未修道路变为至多一条。 | shumeng | CSP202603E | 提高+/省选- | 2026-07-31 16:22 | 打开 | |
按 X 分流:离线用树链剖分求计划阈值,在线用站点分段与并查集维护可行计划数。 | shumeng | CSP202603E2 | 省选/NOI- | 2026-07-31 16:22 | 打开 | |
按字符串读取一位小数,分别实现普通四舍五入和向偶数舍入。 | shumeng | CSP202605A | 未知 | 2026-07-31 16:22 | 打开 | |
模拟固定天数的苹果消耗过程,并对机器人数量二分答案。 | shumeng | CSP202605B | 未知 | 2026-07-31 16:22 | 打开 | |
按时间段模拟资源申请、特殊进程的放弃与抢夺,并用状态循环判断无法结束的死锁。 | shumeng | CSP202605C | 未知 | 2026-07-31 16:22 | 打开 | |
把最大必胜子游戏数转化为区间调度,预处理最早结束区间并用倍增回答询问。 | shumeng | CSP202605D | 未知 | 2026-07-31 16:22 | 打开 | |
先解决固定根下的活动串贪心,再用分支定向、历史事件归档和共享模拟在线淘汰候选根。 | shumeng | CSP202605E | 省选/NOI- | 2026-07-31 16:22 | 打开 | |
用值域计数数组统计每个数的出现次数,再按数值升序选择最高频数。 | shumeng | CSP201312A | 入门 | 2026-07-31 16:21 | 打开 | |
扫描 ISBN 的前九个数字计算带权和,再按模 11 规则校验或替换识别码。 | shumeng | CSP201312B | 入门 | 2026-07-31 16:21 | 打开 | |
用单调递增栈在柱子遇到右侧不高位置时结算可延伸宽度,线性求最大矩形面积。 | shumeng | CSP201312C | 普及+/提高- | 2026-07-31 16:21 | 打开 | |
把 0/1 与 2/3 的先后限制各压缩为三态,用 9 状态 DP 统计合法数字串。 | shumeng | CSP201312D | 普及+/提高- | 2026-07-31 16:21 | 打开 | |
把方向受限地图建成有向图,分别从 S 正向搜索和从 T 在反图搜索,再统计可达集合差集。 | shumeng | CSP201312E | 普及+/提高- | 2026-07-31 16:21 | 打开 | |
用偏移量数组记录已出现整数,读到 x 时查询相反数 -x 是否存在。 | shumeng | CSP201403A | 入门 | 2026-07-31 16:21 | 打开 | |
扫描命中点击点的窗口并选择最高层,用递增层次编号模拟被选窗口置顶。 | shumeng | CSP201403B | 入门 | 2026-07-31 16:21 | 打开 | |
预处理每个选项是否带参数,按字符串顺序模拟解析并记录最后一次合法参数。 | shumeng | CSP201403C | 普及- | 2026-07-31 16:21 | 打开 | |
把新增路由器数量作为 BFS 状态维度,在节点与资源使用量的状态图上求最短路径。 | shumeng | CSP201403D | 普及+/提高- | 2026-07-31 16:21 | 打开 | |
合并双 CPU 方案为全局串行任务,用三维负载 DP 记录两台 CPU 与 GPU 的工作量。 | shumeng | CSP201403E | 提高+/省选- | 2026-07-31 16:21 | 打开 | |
排序后检查相邻元素是否相差 1,直接统计所有满足条件的数对。 | shumeng | CSP201409A | 入门 | 2026-07-31 16:21 | 打开 | |
把矩形覆盖的单位网格标记为已涂色,最后统计布尔网格中的真值数量。 | shumeng | CSP201409B | 入门 | 2026-07-31 16:21 | 打开 | |
按大小写选项统一字符串后,用子串查找逐行筛选包含模式串的文本。 | shumeng | CSP201409C | 入门 | 2026-07-31 16:21 | 打开 | |
以所有分店为多源 BFS 起点,预处理每个格点到最近分店的最短距离并按需求量计费。 | shumeng | CSP201409D | 普及- | 2026-07-31 16:21 | 打开 | |
用行轮廓 DP 枚举 L 型三格骨牌转移,再对宽度至多 7 的状态矩阵做快速幂。 | shumeng | CSP201409E | 提高+/省选- | 2026-07-31 16:21 | 打开 | |
按记录顺序维护每个读者编号的出现次数,并输出当前记录的累计次数。 | shumeng | CSP201412A | 入门 | 2026-07-31 16:21 | 打开 | |
按副对角线 i+j 分组,并根据对角线编号奇偶交替反向输出。 | shumeng | CSP201412B | 入门 | 2026-07-31 16:21 | 打开 | |
用整数分维护有效订单,按报价扫描买单后缀量和卖单前缀量,取最大成交量的最高价格。 | shumeng | CSP201412C | 普及- | 2026-07-31 16:21 | 打开 | |
按水渠费用升序用 Kruskal 选择不成环的边,得到连接全部麦田的最小生成树。 | shumeng | CSP201412D | 普及- | 2026-07-31 16:21 | 打开 | |
把城市-日期拆成时间扩展网络,用最小费用最大流同时决定运输路线和跨日库存。 | shumeng | CSP201412E | 提高+/省选- | 2026-07-31 16:21 | 打开 | |
按原矩阵从右到左的列顺序逐列输出,完成逆时针旋转 90 度。 | shumeng | CSP201503A | 入门 | 2026-07-31 16:21 | 打开 | |
统计每个数的出现次数,再按频次降序、数值升序排序输出。 | shumeng | CSP201503B | 入门 | 2026-07-31 16:21 | 打开 | |
顺推每年元旦的星期,利用月初星期和模 7 公式定位第几个指定星期。 | shumeng | CSP201503C | 入门 | 2026-07-31 16:21 | 打开 | |
将交换机和电脑建成一棵树,通过两次 BFS 求树的直径。 | shumeng | CSP201503D | 普及- | 2026-07-31 16:21 | 打开 | |
重链剖分路径后,用方向敏感的价格前缀最小值分段计算每段行走成本。 | shumeng | CSP201503E | 省选/NOI- | 2026-07-31 16:21 | 打开 | |
线性扫描数列,每次相邻数字变化时计入一个新的连续段。 | shumeng | CSP201509A | 入门 | 2026-07-31 16:21 | 打开 |