题目列表
可按标题、OJ、标签和启发记录快速筛选题目解析。
| OJ | 题号 | 标题 | 标签 | 难度 | 最后更新 | 解析 |
|---|---|---|---|---|---|---|
2082 | 按桶数递增做升序字典序组合 DFS,用增量位集完全背包验证子集能否恰好量出 Q,首个成功组合即桶数最少且字典序最小的答案。 | 提高 | 2026-10-07 13:50 | |||
2080 | 把电线总长写成点到线段距离之和,用线段距离的凸性证明目标函数凸,再嵌套三分:内层固定 x 对 y 三分、外层对 x 三分。 | 提高 | 2026-10-07 13:50 | |||
2083 | 通过图层栈维护窗体层级顺序,并在查询时利用矩形切割法依次剪除上层窗体的遮挡区域,精确统计可见面积。 | 提高+/省选- | 2026-10-07 13:50 | |||
2076 | 把最短围栏转化为点集的凸包周长,用 Andrew 单调链按叉积弹出右转与共线点,再对闭合顶点序列求边长之和 | 普及+/提高- | 2026-10-07 13:50 | |||
2077 | 8 连通洪填提取每个星座,对点集做 8 种旋转/翻转的平移归一化取最小形态作为形状指纹,用 dict 把同指纹星座统一标成同一小写字母。 | - | 普及+/提高- | 2026-10-07 13:50 | ||
2078 | 通过相邻音符差分将转调转化为相同子串匹配,结合二分答案与滚动哈希在 O(N log N) 时间内求解最长不重叠重复子串。 | 提高 | 2026-10-07 13:50 | |||
2074 | 把停运卡车建模成最小割:容量改 c·K+1 使“先压总损失、再压边数”,Dinic 求最大流后逐边删测流找出割边。 | 提高+/省选- | 2026-10-07 13:50 | |||
2075 | 通过极值坐标还原矩形边框边界,由边框覆盖关系构建有向图,回溯搜索输出所有字典序拓扑序。 | 提高 | 2026-10-07 13:50 | |||
2072 | 把卡片与单词都压成字母掩码,先用一次按位与淘汰含卡片外字母的单词,再对少量候选按 26 维用量向量精筛,最后 O(k²) 枚举词对取最高分。 | 提高 | 2026-10-07 13:50 | |||
2073 | 通过棋子单向移动与逆序对不变性确定最少步数 (N+1)^2-1,结合原下标升序枚举的 DFS 回溯搜索求出字典序最小解。 | 提高 | 2026-10-07 13:50 | |||
2071 | 通过删点 BFS 判定有向图必经点,再结合正向遍历验证前后子图无点集交集以确定分割点 | 普及+/提高- | 2026-10-07 13:50 | |||
2067 | 两阶段流水车间:用事件小根堆求 A、B 车间各自的最优完工时刻向量,再把 A 完工时刻降序与 B 槽位升序反向配对得到最小总工期。 | 普及+/提高- | 2026-10-07 13:50 | |||
2068 | 枚举前、后齿轮组合:3 倍约束用整数乘法定向剪枝,把传动比按 lcm 标度改成整数后精确比方差,并列按字典序。 | 普及+/提高- | 2026-10-07 13:50 | |||
2059 | 用 Pick 定理数三角形 (0,0),(n,m),(p,0) 内部格点:2S=pm,边界 B=gcd(n,m)+gcd(|p-n|,m)+p。 | 普及+/提高- | 2026-10-07 13:50 | |||
2069 | 动态规划求解最长严格下降子序列(LDS),并通过倒序扫描结合哈希集合跳过相同前驱数值实现不同方案的去重计数。 | 普及+/提高- | 2026-10-07 13:50 | |||
2063 | 端点用它上面相接的篱笆标号集合编号,篱笆是有权边,区域就是环;枚举每条边禁掉后跑 Dijkstra 求两端最短路,w+dist 取最小。 | 提高 | 2026-10-07 13:50 | |||
2064 | 逆向枚举每步加密的 (C, O, W) 三元组做记忆化搜索,用字母守恒、首 C/末 W 固定、连续段必为目标子串、邻接修复下界四重剪枝判断能否还原目标句。 | 普及+/提高- | 2026-10-07 13:50 | |||
2066 | 将奶牛与牛栏的分配建模为二分图最大匹配,采用匈牙利算法(DFS 增广路)求解最大匹配数。 | 普及+/提高- | 2026-10-07 13:50 | |||
2065 | 把排水沟建成有向容量网络,用 Dinic 算法在残量网络上 BFS 分层、DFS 沿层次图增广,反向边提供反悔机制,求水潭到小溪的最大流。 | 普及+/提高- | 2026-10-07 13:50 | |||
2057 | 用观察者到各顶点的视线把每条栅栏切成遮挡状态不变的段,段中点做整数叉积跨立试验,判定哪些栅栏可见。 | - | 提高 | 2026-10-07 13:50 | ||
2062 | 二分答案转化为装箱判定问题,利用大件优先、相同元素去重和废料上限剪枝进行深搜回溯。 | 提高+/省选- | 2026-10-07 13:50 | |||
2054 | 枚举集合点 t,所有骑士的步数和为 ΣD_k(t);国王要么自己走到 t,要么由某位骑士绕路接上,接人的增量用一次多源 BFS 化成 E_k(t)=min_u(D_k(u)+K(u)+D(u,t)) 后取最小。 | 提高 | 2026-10-07 13:50 | |||
2056 | 双人从序列两端轮流取数的零和博弈,用区间 DP 求「当前行动者净胜分」g(l,r)=max(a[l]-g(l+1,r), a[r]-g(l,r-1)),再由 D 与总和还原两人得分。 | 普及+/提高- | 2026-10-07 13:50 | |||
2052 | 每条栅栏恰好走一次即欧拉路径:最小奇点出发,邻接表按邻居排序后贪心走最小邻居,迭代 Hierholzer 逆后序输出,得到字典序最小解。 | 普及+/提高- | 2026-10-07 13:50 | |||
2053 | 把购物清单压成不超过 5 维的剩余需求向量,用记忆化搜索在该状态图上求最短路:每次转移要么按原价买一件,要么套用一个不超过剩余需求的优惠套餐。 | 普及+/提高- | 2026-10-07 13:50 | |||
2048 | 五个轮子的挡光图案以 360 秒为周期,故只需枚举 0..359 秒;把 360 个角度压成 360 位掩码,整轮旋转即环上移位,五轮求交即按位与。 | 普及+/提高- | 2026-10-07 13:50 | |||
2049 | 把「配出目标比例」写成 a·F1+b·F2+c·F3=k·T 的整数方程,三种饲料份数都小于 100,于是按份数总和递增枚举 a+b+c,第一组命中即用量最少。 | 普及- | 2026-10-07 13:50 | |||
2050 | 把 8 个格子的颜色序列当作状态,三种操作是三个置换;在 8!=40320 个状态上做 BFS,按 A、B、C 的顺序扩展,目标第一次被生成就是最短且字典序最小的操作串。 | 普及+/提高- | 2026-10-07 13:50 | |||
2051 | 枚举每个牧场作为放糖点,从该点跑一次堆优化 Dijkstra,利用无向图最短路的对称性直接得到所有牛的路程和,取最小值。 | 普及 | 2026-10-07 13:50 | |||
2045 | 把“某邮资能否贴出”换成“最少需要几张”,用一个大整数的第 v 位表示邮资 v 可达;每轮对所有面值做左移按位或,重复至多 K 次后数连续 1 前缀。 | 普及+/提高- | 2026-10-07 13:50 | |||
2047 | 通过动态规划预处理限定1个数的01串数量,再自高向低逐位试填分支定位第I大二进制串。 | 普及+/提高- | 2026-10-07 13:50 | |||
2041 | 完全背包:dp[t] 表示限时 t 的最大得分,容量正序使种类可重复选取。 | 普及- | 2026-10-07 13:50 | |||
2042 | 把每个素数看成一个生产者,只维护它乘以第几个丑数;用小根堆取 K 个候选的最小值,打平者同步推进去重,O(N log K)。 | 普及+/提高- | 2026-10-07 13:50 | |||
2044 | 滑动窗口统计长度在 [A, B] 内的子串频次,结合分桶与多关键字排序格式化输出高频模式串。 | 普及+/提高- | 2026-10-07 13:50 | |||
2036 | 把迷宫字符画补一圈空白后,从最外圈多源 BFS 灌水:每个格心的字符距离折半就是到最近出口的步数,取最大值,一次 O(WH) 求出最坏点。 | 普及+/提高- | 2026-10-07 13:50 | |||
2038 | Floyd 一次算出各牧场内全源最短路,得每点偏心距与牧场直径;枚举跨牧场点对,新直径取 max(两边偏心距+欧氏新边, 原直径较大者) 的最小值。 | 普及 | 2026-10-07 13:50 | |||
2039 | 模拟竖式长除法,用字典登记余数第一次出现的位置:余数重复即找到循环节,余数变 0 即有限小数,总步数不超过分母。 | 普及- | 2026-10-07 13:50 | |||
2037 | 52 个牧场的无向带权图,把源点从每只母牛换成谷仓,一次 Dijkstra 得到 A..Y 到 Z 的最短距离,取最小者。 | 普及- | 2026-10-07 13:50 | |||
2033 | 完全背包计数:外层按面值分组、金额正序执行 ways[j] += ways[j-c],统计凑出金额 N 的组合数。 | 普及- | 2026-10-07 13:50 | |||
2034 | 持股累加后用不动点迭代求控制闭包:每轮把所有已控制公司持有的股份汇总,超过 50% 即纳入控制,直到不再新增,O(V^3) 内出全部控制对。 | 普及+/提高- | 2026-10-07 13:50 | |||
2031 | 用 L_h[m] 记「内部结点数 m、高度不超过 h」的家谱数,一次卷积抬高一层高度上界,最后 L_K[m]-L_{K-1}[m] 就是高度恰为 K 的个数,O(K·N²)。 | 普及+/提高- | 2026-10-07 13:50 | |||
2032 | 在 1..N 的数列每两数间插入 +、- 或空格(空格表示拼接),枚举全部 3^(N-1) 种符号方案,按 ASCII 序输出和为 0 的表达式。 | 普及- | 2026-10-07 13:50 | |||
2030 | 按元素长度枚举与哈希集合判断的前缀动态规划,在线性时间内求解最长可分解前缀 | 普及+/提高- | 2026-10-07 13:50 | |||
2021 | 把格子看成顶点、公共边无墙处连边,一次洪水填充求出房间数、最大房间和各房间编号;再扫每个右邻/下邻房间号不同的位置枚举所有可拆墙,用元组(合并大小, -2x, 2y)一次比较就把最大值与「先西后南」的平局规则一起解决,O(MN)。 | 普及+/提高- | 2026-10-07 13:50 | |||
2015 | 通过预处理双平方数集合与布尔查找表,枚举首项与次项确定公差,结合末项前置剪枝快速找出所有满足条件的等差数列。 | 普及+/提高- | 2026-10-07 13:50 | |||
2011 | 提取文本中的有效英文字母并记录原始索引,利用 Manacher 算法在 O(N) 线性时间内找出最长回文子串并在原串中切片输出。 | 普及+/提高- | 2026-10-07 13:50 | |||
1668 | 取一子或合并两堆的取石子博弈:按堆大小与石子总数奇偶性分类讨论必败态,k1=大小1堆数、(s+n) 奇偶为核心判据。 | 省选/NOI- | 2026-10-07 13:50 | |||
1677 | 题面是 2×N 骨牌覆盖的斐波那契递推;随题测试数据实为整数划分,主解改用完全背包计数以匹配评测语义。 | 普及+/提高- | 2026-10-07 13:50 | |||
1676 | 把 n 拆成恰好 k 个正整数之和的方案数,用 (剩余和, 剩余段数, 下一段下界) 三元组记忆化搜索。 | 普及- | 2026-10-07 13:50 | |||
1678 | 倒序 DP 求出 g[i]=以 a[i] 开头的最长不下降子序列长度,再逐位贪心:每步在「值不小于已选末尾且 g 够长」的候选中取值最小者,得到字典序最小的最优方案。 | 普及+/提高- | 2026-10-07 13:50 | |||
1680 | 将打乱的前缀和与后缀和升序排序,利用正整数单调性双向剪枝搜索还原数列,优先左侧扩展保证字典序最小。 | 提高 | 2026-10-07 13:50 | |||
1670 | 区间博弈DP:通过推导使子区间成为必败态的两端边界石子数唯一解,O(n^2)判断全局胜负 | 省选/NOI- | 2026-10-07 13:50 | |||
1662 | 阶梯切割方案数是卡特兰数 C(2n,n)/(n+1):以最后一刀位置递归拆解,得到卡特兰递推,用 math.comb 精确大整数一次算出。 | 提高+/省选- | 2026-10-07 13:50 | |||
1667 | 取棒动作让先手总能开启博弈战场:盒中存在异或和为 0 的非空子集(GF(2) 线性相关)则先手必胜,用线性基 O(N·30) 判定。 | 提高+/省选- | 2026-10-07 13:50 | |||
1666 | 先手胜负由各堆石子数的 SG 值异或和决定:S=0 必败,否则找出使 SG(A_i-t)=S^SG(A_i) 的字典序最小一步。 | 提高 | 2026-10-07 13:50 | |||
1669 | 使用 SG 函数将各堆有限制取石子游戏转化为等价 Nim 堆,预处理 mex 后异或求值判定胜负。 | 提高 | 2026-10-07 13:50 | |||
1649 | 把二进制位数约束按 kn 与 w 的关系切成三档:全合法档用组合数直接求和,全超长档截断,临界档只卡首位 d1 < 2^{w-k(n-1)}。 | 普及+/提高- | 2026-10-07 13:50 | |||
1664 | Nim 博弈:把各堆石子数按位异或,先手必胜当且仅当异或和(Nim 和)非零,O(N) 判定。 | 普及 | 2026-10-07 13:50 | |||
1660 | 网格路径计数不越过对角线:反射法推出 C(n+m,m)-C(n+m,m-1),C++ 大整数精确输出。 | 普及 | 2026-10-07 13:50 | |||
1659 | 扩展 Lucas 定理(exLucas)求组合数模任意合数:按质因数幂分拆模数,抽干 p 因子后分块阶乘求 C mod p^k,再用 CRT 拼回答案。 | 省选/NOI- | 2026-10-07 13:50 |