题目列表

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

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