题目列表

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

共 1956 题
标题OJ题号标签难度最后更新原题
补零后执行 K 叉 Huffman 合并,堆中同时维护权重与子树高度。
luoguP2168
K叉Huffman贪心heapqpython
提高+/省选-2026-07-16 21:00打开
单调递增 deque 保存窗口内仍可能成为最小值的下标。
luoguP2251
单调队列滑动窗口dequepython
普及/提高-2026-07-16 21:00打开
用全局增量抵消统一加 q,并以三个单调队列线性取当前最长蚯蚓。
luoguP2827
单调队列偏移量模拟python
提高+/省选-2026-07-16 21:00打开
在差分数组上用 Fenwick 做两个端点修改,前缀和恢复单点值。
luoguP3368
树状数组差分区间修改python
普及/提高-2026-07-16 21:00打开
Fenwick 维护单点增量与前缀和,用两个前缀和相减回答区间和。
luoguP3374
树状数组前缀和模板题python
普及/提高-2026-07-16 21:00打开
用 heapq 直接维护可重复整数小根堆,并用 bytearray 批量输出。
luoguP3378
二叉堆heapq模板题python
普及-2026-07-16 21:00打开
按截止时间扫描,最大堆维护已选工期;超时则用更短任务替换最长任务。
luoguP4053
贪心最大堆调度python
普及+/提高2026-07-16 21:00打开
按值排序找每个位置的最近值邻居,把好配对转成二维点并离线 Fenwick 查询。
luoguP5677
离线查询树状数组最近邻python
省选/NOI-2026-07-16 21:00打开
折半枚举每个数的不选、原值、阶乘三种状态,按使用贴纸数统计目标和方案。
luoguCF525E
Meet-in-the-Middle枚举计数python
提高+/省选-2026-07-16 20:10打开
把质数拆成两组生成所有乘积,二分答案并双指针统计不超过它的乘积对数。
luoguCF912E
Meet-in-the-Middle二分答案数论python
省选/NOI-2026-07-16 20:10打开
位掩码维护行列宫约束,每层选择候选最少空格并回溯最大化加权分数。
luoguP1074
回溯MRV数独位运算python
提高+/省选-2026-07-16 20:10打开
把当前国家与已学文化集合共同作为 Dijkstra 状态,并用集合包含关系做支配剪枝。
luoguP1078
状态最短路Dijkstra支配剪枝python
提高+/省选-2026-07-16 20:10打开
枚举总长度的因数作为原木长度,用降序拼组 DFS 与失败剪枝判断可行性。
luoguP1120
DFS剪枝回溯python
提高+/省选-2026-07-16 20:10打开
按字典序 DFS 枚举至多 5 步移动,完整模拟重力、同时消除与连锁反应。
luoguP1312
DFS模拟剪枝python
省选/NOI-2026-07-16 20:10打开
把九宫格编码为 bytes 状态,从起点 BFS 到固定目标得到最少移动次数。
luoguP1379
BFS状态搜索八数码python
普及+/提高2026-07-16 20:10打开
迭代加深枚举单位分数个数,用剩余项上界和最优末分母剪枝。
luoguP1763
迭代加深DFS分数python
提高+/省选-2026-07-16 20:10打开
以错位非空棋子数为估价函数,在深度 15 内做 IDA*。
luoguP2324
IDA*启发式搜索棋盘python
提高+/省选-2026-07-16 20:10打开
从初始格做八方向 BFS,最远可达草地的距离就是完全侵占周数。
luoguP2960
BFS网格dequepython
普及-2026-07-16 20:10打开
按挖掘深度分层做子集 DP,预处理新节点连接已挖集合的最短边代价。
luoguP3959
状态压缩DP子集枚举分层python
提高+/省选-2026-07-16 20:10打开
折半生成两组子集和,排序一边并用 bisect_right 统计预算内组合。
luoguP4799
Meet-in-the-Middle子集和二分python
提高+/省选-2026-07-16 20:10打开
把 12 个四进制旋钮压成整数,正反生成状态做双向 BFS 并恢复最短操作序列。
luoguP5507
双向BFS状态压缩路径恢复python
提高+/省选-2026-07-16 20:10打开
枚举三个字符串的拼接顺序,用 KMP 求相邻字符串的最大后缀前缀重叠。
luoguCF25E
KMP最短公共超串全排列python
普及+/提高2026-07-16 19:57打开
按原串长度分组,用可达位置 DP 判断序列前缀能否由原串重复拼成。
luoguP1470
动态规划字符串defaultdictpython
普及/提高-2026-07-16 19:57打开
枚举前缀 / 字典树 / DP 三种方式求以每个单词结尾的最长词链长度。
luoguP1481
字符串字典树dppythoncpp模板题
普及-2026-07-16 19:57打开
KMP 统计 border 链长度,再用第二遍线性扫描限制前后缀不能重叠。
luoguP2375
KMPborder计数python
提高+/省选-2026-07-16 19:57打开
分别用合法姓名集合和已点名集合区分 WRONG、OK 与 REPEAT。
luoguP2580
集合字符串状态记录python
普及-2026-07-16 19:57打开
二进制 Trie 同时记录终止数量和子树数量,统计两串中较短者为公共前缀的消息数。
luoguP2922
Trie前缀计数python
普及+/提高2026-07-16 19:57打开
离线收集所有数值并坐标压缩,用 Fenwick 维护多重集合、排名、kth、前驱和后继。
luoguP3369
树状数组坐标压缩有序多重集python
提高+/省选-2026-07-16 19:57打开
用前缀函数在线性时间输出所有匹配位置,并给出模式串每个前缀的最长 border。
luoguP3375
KMP前缀函数字符串python
普及/提高-2026-07-16 19:57打开
沿前缀函数链递推每个前缀的最短非空 border,从而得到最长 period。
luoguP3435
KMP周期递推python
提高+/省选-2026-07-16 19:57打开
求字符串的最小周期长度。用整个字符串的最长 border 求能够生成接收片段的最短信号周期。
luoguP4391
KMP周期border哈希字符串pythoncpp
普及/提高-2026-07-16 19:57打开
把树上路径异或转为两个根前缀异或,再用 01-Trie 求最大异或对。
luoguP4551
01-Trie异或python
普及+/提高2026-07-16 19:57打开
Euler 前缀版本回答子树,根到点版本配合 LCA 四根差分回答路径最大异或。
luoguP4592
可持久化TrieEuler序LCA树上路径python
省选/NOI-2026-07-16 19:57打开
把后缀异或改写为前缀异或区间查询,用可持久化 01-Trie 支持追加与最大异或。
luoguP4735
可持久化Trie前缀异或在线追加python
省选/NOI-2026-07-16 19:57打开
可持久化 01-Trie 求每个右端点的第 r 大子数组异或,用堆归并取全局前 k 大。
luoguP5283
可持久化Trie异或前k大python
省选/NOI-2026-07-16 19:57打开
在二进制 Trie 上按 k 的当前位分类,递推选择聪明值 x 的每一位。
luoguP6824
01-Trie数位DP异或python
普及+/提高2026-07-16 19:57打开
每次选择非负余数并据此更新负进制商,逆序连接余数得到表示。
luoguP1017
负进制进制转换整除python
普及/提高-2026-07-16 19:20打开
用掩码取出低 16 位并左移,同时把高 16 位右移,再按位或合并。
luoguP1100
位运算掩码python
入门2026-07-16 19:20打开
用 int(text, base) 转成十进制整数,再反复 divmod 得到目标进制数码。
luoguP1143
进制转换字符串divmodpython
入门2026-07-16 19:20打开
先累计所有更短递增单词,再逐位用组合数统计当前字母之前的合法后缀数量。
luoguP1246
组合数学字典序组合数python
普及+/提高2026-07-16 19:20打开
交换约数统计顺序得到 sum floor(n/d),再按相同商的连续区间整段求和。
luoguP1403
整除分块约数数论python
普及+/提高2026-07-16 19:20打开
倍数枚举统计每个约数能覆盖多少能力值,再把答案从大人数向小人数传播。
luoguP1414
最大公约数倍数枚举计数python
普及+/提高2026-07-16 19:20打开
利用异或消去所有成对长度,并用 fread 流式读入满足千万数据和 8 MB 内存限制。
luoguP1469
位运算异或输入优化
普及-2026-07-16 19:20打开
先筛出不超过 sqrt(R) 的素数,再在长度不超过一百万的区间内做分段筛。
luoguP1835
数论分段筛素数bytearraypython
普及+/提高2026-07-16 19:20打开
按编号上限升序处理,第 i 只兔子有 Mi-i 个尚未使用的可选编号,答案为这些选择数之积。
luoguP1866
排序乘法原理计数python
普及-2026-07-16 19:20打开
把未使用信号视为额外盒子,用隔板法分别计算 0 和 1 的分配方案再相乘。
luoguP2638
组合数学隔板法math.combpython
普及/提高-2026-07-16 19:20打开
把 a2 约去 a1 和后续所有数能提供的质因子,剩余分母为 1 时存在整数括号方案。
luoguP2651
最大公约数分数思维python
普及+/提高2026-07-16 19:20打开
欧几里得式铺最大正方形的周长和可化为 4(x+y-gcd(x,y))。
luoguP2660
欧几里得算法最大公约数数学python
普及-2026-07-16 19:20打开
把直线按平行组划分,用集合 DP 枚举新增一组平行线带来的交点数。
luoguP2789
动态规划集合组合计数python
普及/提高-2026-07-16 19:20打开
统计每个数值的出现次数,再把每个除数的频次累加到它的所有倍数。
luoguP2926
约数倍数枚举计数
普及/提高-2026-07-16 19:20打开
把 qiandao(x) 转化为 x-phi(x),再用分段筛批量计算短区间内每个数的欧拉函数。
luoguP3601
欧拉函数分段筛数论筛法
提高+/省选-2026-07-16 19:20打开
用集合统计被占用的不同行列,再用容斥计算这些整行整列覆盖的格子数。
luoguP3913
集合容斥原理计数python
入门2026-07-16 19:20打开
每加入一条大小关系就重跑拓扑排序,用队列分支数判断唯一序列并用处理点数判断矛盾。
luoguP1347
拓扑排序DAG唯一性python
普及/提高-2026-07-16 18:42打开
每趟车建立虚拟节点压缩停靠与不停靠站的大小约束,再做拓扑最长路求最少级别数。
luoguP1983
拓扑排序DAG虚拟节点动态规划python
普及+/提高2026-07-16 18:42打开
从每头牛的起点分别搜索,用计数数组统计被全部搜索到的牧场。
luoguP2853
有向图DFS可达性python
普及-2026-07-16 18:42打开
反向建图并按编号从大到小搜索,首次访问时写入该点可达的最大编号。
luoguP3916
图论反图DFSpython
普及-2026-07-16 18:42打开
从所有入度为零的生产者开始拓扑 DP,把路径条数沿捕食边累加到出度为零的消费者。
luoguP4017
DAG拓扑排序动态规划计数python
普及/提高-2026-07-16 18:42打开
使用 Python 三参数 pow 直接计算模意义下的快速幂。
luoguP1226
数学快速幂python
普及-2026-07-16 18:28打开
按横坐标分治,并在纵坐标有序的中间条带中只检查常数个后继点。
luoguP1257
分治计算几何归并python
提高+/省选-2026-07-16 18:28打开
建立区间最小值 ST 表,以两个允许重叠的 2 的幂区间回答静态 RMQ。
luoguP1816
ST表RMQ倍增python
普及/提高-2026-07-16 18:28打开