题目列表
可按标题、OJ、标签和启发记录快速筛选题目解析。
| OJ | 题号 | 标题 | 标签 | 难度 | 最后更新 | 解析 |
|---|---|---|---|---|---|---|
1217 | 棋盘上放 k 枚互不同行同列的棋子:逐行决策并把列占用压成 n 位掩码,记忆化搜索 O(n²·2ⁿ) 计数。 | 普及- | 2026-10-05 05:50 | |||
1216 | 把黑砖看成网格图的顶点,答案是起点所在连通分量的大小;一次洪水填充 O(WH) 求出。 | 普及- | 2026-10-05 05:42 | |||
1214 | 预处理所有 92 个合法解并排序,随后 O(1) 回答每个查询。 | 普及 | 2026-10-05 05:42 | |||
1215 | 把迷宫可达性转成网格图连通性,从 A 出发用入栈即标记的 visited 做一次迭代 DFS,O(n²) 判断 B 是否同属一个连通分量。 | 普及- | 2026-10-05 05:42 | |||
1210 | 试除法分解素因子并按升序输出表达式。 | 入门 | 2026-10-05 05:38 | |||
1212 | 从左上角做四连通 DFS,用 26 位掩码记录路径上用掉的字母,新字母才可进入;字母不重复蕴含格子不重复,故一个掩码即可替代格子访问数组。 | 普及- | 2026-10-05 05:37 | |||
1211 | 把生成规则 y→2y+1、y→3y+1 反过来用:x 的父亲只能是 (x-1)/2 或 (x-1)/3,反向递归收缩并记忆化,判断 x 能否缩回种子 k。 | 普及- | 2026-10-05 05:37 | |||
1209 | 逐次通分相加并立即用 gcd 约分,保持最简后按整数或分数格式输出。 | 入门 | 2026-10-05 05:37 | |||
1207 | 用辗转相除法求最大公约数:反复把 (a, b) 换成 (b, a mod b),公因数集合始终不变而第二个数严格变小,b 归零时 a 就是答案。 | 普及- | 2026-10-05 05:32 | |||
1208 | 把 n 按二进制拆成 2 的幂之和,指数用同一个递归函数继续展开:指数 0 写 2(0)、指数 1 写 2、更大写 2(...),余项用 + 拼接。 | 普及- | 2026-10-05 05:32 | |||
1205 | 递归分治:把 n-1 个盘移到辅助柱,移最大盘,再把 n-1 个盘移到目的柱。 | 入门 | 2026-10-05 05:32 | |||
1206 | 把 M 个相同苹果放进 N 个相同盘子(可空),按‘有没有空盘’分类记忆化递推求分法数。 | 入门 | 2026-10-05 05:32 | |||
1203 | 多组括号匹配:一趟从左到右扫描,栈存未配对左括号下标;遇栈空右括号标 ?,扫描后残留左括号标 $,线性时间。 | 入门 | 2026-10-05 05:27 | |||
1202 | 利用同余封闭性先递推打表到最大 k,再 O(1) 回答每组询问。 | 入门 | 2026-10-05 05:27 | |||
1204 | 按最后一步跨 1 级还是 2 级分类,得互斥完备的递推 f(n)=f(n-1)+f(n-2)(即斐波那契),预处理 1~30 的表后逐行查表输出。 | 入门 | 2026-10-05 05:26 | |||
1201 | 按定义预处理 F(1..20),每个询问 O(1) 回答。 | 入门 | 2026-10-05 05:26 | |||
1198 | 递归下降求值前缀表达式:当前 token 为运算符时递归求左右子式,否则返回浮点值。 | 入门 | 2026-10-05 05:19 | |||
1199 | 输入串已按字母序排好,按字典序输出它的全部 n! 个排列。 | 入门 | 2026-10-05 05:19 | |||
1196 | 把落点压成「本行只有一格」和「本行已横走成段」两类,按 3 种/2 种续走做线性递推。 | 普及- | 2026-10-05 05:18 | |||
1195 | 2^n 种符号方案只有 k 种余数状态:用布尔数组保存可达余数集合,逐个数字平移出 ±a_i 两支,O(nk) 判定余数 0 是否可达。 | 普及- | 2026-10-05 05:11 | |||
1193 | 用 Fibonacci 递推计数:每天吃掉 1 或 2 块,f[i]=f[i-1]+f[i-2],滚动变量 O(1) 空间实现。 | 入门 | 2026-10-05 05:11 | |||
1192 | 按最后一个盘子是否为空做不重不漏二分:空则少一个盘子,非空则每个盘子各垫一个苹果,得 f(m,n)=f(m,n-1)+f(m-n,n),记忆化求整数拆分数 p_{≤n}(m)。 | 普及- | 2026-10-05 05:11 | |||
1194 | 把网格路线拆成步序列:每条路恰含 m-1 步上、n-1 步右,路线与「在总步数里选上步位置」一一对应,答案即组合数 C(m+n-2, m-1),用 math.comb 一步求出。 | 入门 | 2026-10-05 05:11 | |||
1189 | Pell 数列取模:预计算到最大下标后 O(1) 查表。 | 入门 | 2026-10-05 04:48 | |||
1190 | 按最后一步跨 1/2/3 阶分类得三阶线性递推,先打表再回答多组询问。 | 入门 | 2026-10-05 04:48 | |||
1188 | 多组询问共享同一个数列:一次线性递推把斐波那契尾三位预计算到 max(a),之后每问 O(1) 查表。 | 入门 | 2026-10-05 04:48 | |||
1187 | 统计 26 个小写字母的出现次数,再从 'a' 到 'z' 依次取严格更大者,即可得到次数最多且 ASCII 最小的字符。 | 入门 | 2026-10-05 04:41 | |||
1184 | 把随机数本身当作桶的下标:写入即完成去重,按下标升序扫描即完成排序,时间 O(N+V)。 | 入门 | 2026-10-05 04:41 | |||
1185 | 用 set 去重并按 ASCII 字典序输出所有不同单词。 | 入门 | 2026-10-05 04:41 | |||
1186 | 一遍哈希计数取众数,用整数不等式 2*times > n 判定严格过半,避开浮点与整除两类半判定错误。 | 入门 | 2026-10-05 04:41 | |||
1183 | 把三条排队规则压成一个排序键(是否非老年人、老年人负年龄、登记序号),字典序比较一次排序同时完成分组、组内排序与平局裁决。 | 入门 | 2026-10-05 04:34 | |||
1181 | 奇数降序在前、偶数升序在后,用自定义比较函数一次 sort 即可。 | 入门 | 2026-10-05 04:33 | |||
1182 | 按性别分桶后 male 升序、female 降序两次排序拼接输出,两位小数与单空格分隔。 | 入门 | 2026-10-05 04:33 | |||
1179 | 把「总分降序、语文降序、学号升序」三段规则合成一个排序键 (-总分, -语文, 学号),一次排序取前 5 名。 | 入门 | 2026-10-05 04:26 | |||
1178 | 把学生按成绩降序排序,同分时按姓名字典序升序输出。 | 入门 | 2026-10-05 04:26 | |||
1176 | 把每个学生存成(学号, 成绩)二元组,按成绩降序排序后取第 k 个;注意学号按字符串读入保留前导零,成绩用 %g 输出。 | 入门 | 2026-10-05 04:26 | |||
1177 | 遍历序列,用位运算筛出奇数,升序排序后以逗号分隔输出。 | 入门 | 2026-10-05 04:25 | |||
1174 | 200 位十进制大整数相乘,结果最多 400 位;按位拆十进制做 O(nm) 竖式乘,最后统一进位输出。 | 入门 | 2026-10-05 04:18 | |||
1175 | 用字符串模拟竖式除法,逐位求出大整数除以 13 的商和余数。 | 入门 | 2026-10-05 04:18 | |||
1172 | n! 有 35660 位,必须高精度:数组一位存一个数字,每次乘 i 后统一进位。 | 入门 | 2026-10-05 04:18 | |||
1169 | 高精度竖式减法:从末位逐位相减,维护单个借位 0/1,越界位按 0 处理。 | 普及- | 2026-10-05 04:11 | |||
1168 | 两个 200 位十进制数相加:用双指针从末位对齐,把进位写进循环条件逐位模拟竖式加法,最后去前导零。 | 普及- | 2026-10-05 04:11 | |||
1170 | N≤100,2^N 最多 31 位十进制数,超出 64 位整数,必须用十进制位数组做高精度乘 2。 | 入门 | 2026-10-05 04:11 | |||
1171 | 把 30 位大整数按字符串读入,逐位递推余数 r = (r*10+d) % k,判断 2~9 中哪些数能整除它。 | 入门 | 2026-10-05 04:10 | |||
1166 | 把嵌套根式看成递推 g_1=sqrt(1+x)、g_k=sqrt(k+g_{k-1}),从内向外一层循环折叠 n-1 次,O(n) 时间 O(1) 空间,保留两位小数输出。 | 入门 | 2026-10-05 04:06 | |||
1164 | 第 k 位数字就是 n 整除 10^(k-1) 之后对 10 取余。 | 入门 | 2026-10-05 04:06 | |||
1167 | 按题面给出的连分式递归定义直接计算 f(x,n),保留两位小数。 | 入门 | 2026-10-05 04:05 | |||
1165 | 按题面二阶递推式记忆化递归求 Hermite 多项式,结果补两位小数输出。 | 入门 | 2026-10-05 04:05 | |||
1161 | 递归除基取余:先递归商得到高位,回溯时输出当前余数。 | 入门 | 2026-10-05 03:59 | |||
1163 | m≤3、n≤10 的阿克曼函数直接照三分支定义递归求值,最大 A(3,10)=8189 的调用栈 C++ 足够承受。 | 入门 | 2026-10-05 03:58 | |||
1160 | 把 n 的十进制表示整串反转后按字符串输出,反转后开头出现的 0 要原样保留。 | 入门 | 2026-10-05 03:58 | |||
1162 | 读取以 '!' 结尾的字符串,把 '!' 之前的部分逆序输出。 | 入门 | 2026-10-05 03:57 | |||
1157 | 筛出 100 以内素数表,对每个偶数升序枚举第一个加数,首个两数皆素数的即为最小拆分。 | 入门 | 2026-10-05 03:53 | |||
1159 | 题面数列从 0 开始,第 n 项就是零起编号的 F(n-1);用记忆化递归按递推式求,每个下标只算一次。 | 入门 | 2026-10-05 03:50 | |||
1158 | 用递归求 1..N 的和:明确参数、出口 n=0、转移 n+sum_to(n-1) 三要素,调用链是一条直链,时间与栈空间均为 O(N)。 | 入门 | 2026-10-05 03:50 | |||
1156 | 用格雷戈里级数在 x=1/√3 处逐项累加 arctan:分子每步乘 -x² 递推、分母取奇数,整项绝对值首次小于 1e-6 时停止,结果乘 6 输出。 | 入门 | 2026-10-05 03:50 | |||
1155 | 把三位回文数按 aba = 101a + 10b 直接生成 90 个候选,再对每个候选试除判素数;回文性由生成方式保证,无需运行期判回文。 | 入门 | 2026-10-05 03:45 | |||
1152 | 三次调用 max3 代入公式后浮点除法,%.3f 保留三位小数输出。 | 入门 | 2026-10-05 03:45 | |||
1153 | 枚举所有两位数,输出自身与十位个位对换后均为素数的数。 | 入门 | 2026-10-05 03:44 | |||
1148 | 线性扫描维护连续计数 run,每个位置先判 run 是否已达 k 再向右更新,逐点复刻标准程序的先判后更语义。 | 入门 | 2026-10-05 03:37 |