完全背包问题怎么判断?三个指标教你快速识别题型
看到这个题目我第一反应是点头因为“判断某题是否该用完全背包”这件事很多人在初学背包问题的时候其实不是不会写模板而是根本认不出“这道题原来是个背包”。我自己带过不少同学最常听到的一句话就是“我知道完全背包怎么写但拿到题就是想不到用它。”这太真实了。你仔细想想01背包和完全背包代码就差一个遍历方向但它们的适用场景和判断逻辑差别其实非常大。如果不把判断方法讲清楚刷一百道题也还是只能套模板换个皮就认不出来了。这篇文章不打算重复那些到处都能搜到的算法定义而是想站在“拿到一道题怎么在五分钟内决定它到底是不是完全背包”这个角度把判断指标、排除项、模板改造和真实场景串起来讲一遍适合正在刷动态规划题库、准备机试或面试、以及一切被背包问题绕晕的同学参考。1. 判断之前先搞清楚完全背包到底在做什么1.1 为什么“选不选”和“选几次”是两个完全不同的世界先把最底层的逻辑说透。动态规划题里所有的背包问题本质上都是同一种决策模型给定一个容量一堆有重量有代价的物品让你从这堆物品里做出选择让某种目标最优。01背包和完全背包的区别表面上看只是“每件物品能不能重复选”但这个差别带来的建模难度是质的。01背包的典型状态转移是f[j] max(f[j], f[j - w[i]] v[i])注意这里在计算第 i 件物品时必须倒序遍历容量 j。因为每件物品只能用一次f[j - w[i]] 必须保证它还是在没有使用第 i 件物品时的状态如果正序遍历小的容量 j - w[i] 已经被第 i 件物品更新过了就会出现“一件物品被用了多次”的效果这恰好就是完全背包想要的。所以很多教程会说“01背包倒序完全背包正序”这没错但如果你只记住了遍历方向是没法判断一道题归类的。你得从题意本身出发先问自己一个问题——这道题我拿到的每件物品允许我重复使用吗举个例子。题目说“从一个物品列表中挑出若干件使总重量恰好等于背包容量求最大价值”这种表述每件物品前面有个“限购一件”的含义这是01背包。但如果题目变成了“你有若干种面额的硬币每种面额无限供应问凑出某个金额最少需要几枚硬币”那“无限供应”四个字直接指向完全背包。别小看这个区分很多混淆都从这里开始。1.2 完全背包的状态定义与递推公式值得背进肌肉记忆判断一道题是不是完全背包光会背公式不够你得理解公式为什么长那样。完全背包的状态定义通常写作dp[j] max(dp[j], dp[j - weight[i]] value[i])数组的含义是容量不超过 j或恰好为 j视初始化而定时能获得的最大价值。它和01背包的递推公式一模一样只是在代码实现时容量维度用正序遍历。正序的意义在于当我们在算容量 j 时容量更小的 dp[j - weight[i]] 已经在当前这一轮被更新过了它代表着“已经使用过这件物品若干次之后”的最优状态所以还能再加一次当前物品。这个概念如果你没想明白一会儿刷题就会搞混而判断题型时恰恰用得上。然后不同约束下的完全背包会演化出至少三种状态转移最大值、最小值、方案数。这三个才是判断时容易出错的重灾区。最大值直接套 max最小值初始化成无穷大套 min方案数则不用比较大小直接把方法数累加。这就带来一个很好的判断思路——先看题干求的是什么再决定套哪一类模板。到这里为止核心定义已经清楚了。下面重点展开判断指标。2. 从题干里找“无限取用”的信号三个判断指标2.1 指标一物品数量和每件物品的可用次数这是最高优先级的指标。读题的时候圈出所有描述物品供应的句子重点出现“无限件”“不限量”“每种可重复选择”“每张/每种无限供应”这类字眼基本可以直接判定完全背包。我自己习惯的做法是做一个快速标记把题干里所有关于物品供应的条件列出来。如果题目明确说“每件物品最多用一次”是01背的范畴如果说“第 i 种物品最多使用 Ci 次”那是多重背包只有当语言环境包含“无限”“任意多次”“数量不限”时才进入完全背包候选区。有一种隐蔽情形得多说一句有些题没有直接在句子里写“无限”而是通过场景暗示。比如“给定一个正整数数组 nums 和一个目标数 target求组合成 target 的方案数”题目没说每个数只能用一次只是因为组合数学里通常默认可取任意多次。碰到这种只给了“正整数”“组合”“凑成目标”而没有明确次数限制的要考虑完全背包这一分支。2.2 指标二容量为什么会“涨”或者“回退”这是个很多人没注意但非常实用的判断角度。仔细想想01背包的容量遍历是从大到小因为每件物品只允许拿一次当前容量不能跨过“已拿过当前物品”的状态去叠加。而完全背包的容量遍历从小到大允许容量递增的过程中反复使用同一件物品。所以看一道题的容量维变化也可以反向推出模型。如果状态转移里你需要“多次重复叠加同一物品带来的增量”比如“每次可以走 1 步或 2 步或 3 步问走到第 n 级台阶有多少种走法”这本质上是一个“可重复使用物品”的场景——每次走法可以在不同轮次反复出现这已经是完全背包风格了。再比如经典的“零钱兑换”问题你要凑 amount硬币面值数组 coin每次都从同一组面值里面取可以取任意多次。这里的“容量” amount 会随着一次次取硬币而“回退”当前总额减去面值而这个回退后的状态自身已经包含了当前硬币的多次使用信息。这种自我引用的特征其实就是完全背包容量正序更新的数学镜像。2.3 指标三是从上到下还是从下到上的选择方向这个判断指标可能听起来抽象但我把它总结为一种思维习惯。你拿到一道完全背包题时可以想象构造一个物品序列每一步选择都是在“同一堆物品”里做选取选取后进入一个新的子问题而这个子问题面对的物品集合和原来完全一样。这就是“从下到上”的思维——我在处理大容量时小容量已经用同一套物品尝试过我的子问题结构是自相似的。而01背包的经典问题是“物品序列是有序的i 状态不能再回头使用之前的物品”哪怕状态转移还是一条公式它的计算顺序却只能从大到小因为每一步是在消减物品集合不是消减可用次数。我遇到复杂场景时会自己做一个“代入实验”假设我现在容量已经用了 k 次同一件物品下一步还允不允许再用一件如果题意允许那么它就是完全背包。如果不允许那就是01或多重。这个实验能滤掉绝大多数模棱两可的题目。3. 容易和完全背包混淆的题型以及各自的判断依据3.1 01背包与完全背包的边界场景最典型的边界就是题目不说“只能用一次”但其实隐含只能用一次。比如“从 n 件物品中选若干个每个物品只有一个”这种一般出现在物理物品上如装箱问题、资源分配问题。题干里可能写的是“每个物品最多拿一个”而不是“每个物品只能拿一次”这时你没注意“个”和“次”的区别就会误判成完全背包。还有一种情况是“只能用一次但没说”比如“数组中的每个数字最多使用一次”这种限定词必须圈出来它把无限取用直接否决了。我的判断顺序永远都是先找次数限制词再找目标量的方向最大/最小/方案数最后再看容量维度的更新方式三步走完基本不踩坑。3.2 顺序敏感的排列问题爬楼梯类为什么要单独处理爬楼梯、数字组合的排列数问题其实是一个“伪完全背包”。表面上看你有若干种走法可以无限重复很像完全背包但它对顺序极其敏感。走 1 步再走 2 步和走 2 步再走 1 步在爬楼梯问题里是两种方案。如果按常规完全背包的组合数写法只会有一种方案被计入少了另一条路径。判断方法很简单题目问“有多少种排列方式”而不是“有多少种组合方式”。排列问题里两个步骤的先后顺序不同算不同方案这时的循环方式通常要外层遍历容量内层遍历物品也就是容量在外面、物品种类在里面这样每个位置都能用所有物品去填天然处理了顺序问题。而纯组合完全背包必须外层物品、内层容量避免排列重复。所以严格来说爬楼梯一类依然用的是完全背包式的无限取用模型但排序方式变了。它不是判断错而是实现细节上容易写错后面实战部分会再展开。3.3 组合数类为什么必须外层物品内层容量如果一道题满足无限取用、要求方案数但不关心顺序那么它就是最标准的一类完全背包方案数问题。典型的例子是“给定若干种面额硬币不限数量问有多少种组合方式凑成目标金额”。这里的组合数不区分顺序12 和 21 被视作同一种。实现上有一个铁律外层先遍历物品内层再遍历容量且容量正序。这样每个物品只在它自己的轮次里去更新所有容量后面换下一个物品的时候前面物品的影响已经被固定不会重复计算不同顺序。你要是把循环次序写反了统计算法数时会把排列和组合混在你的结果里。这一点也是判断题型的得力工具——题目一旦说了“铁无序不区分顺序”那么完全背包组合数模板直接下车如果语气里暗示“先后算不同步骤顺序有意义”就得切换成排列写法。平时用这个问题去检验题目比咬文嚼字要有效得多。4. 判断完毕之后完整解题流程与模板改造4.1 一维数组的完全背包模板以及正序遍历的理解一旦你判断出是完全背包接下来就是把题目翻译成一段靠谱的代码。我写一个最常见的一维完全背包模板求最大值# dp[j]容量为 j 时能装下的最大价值 dp [0] * (capacity 1) for i in range(len(weights)): for j in range(weights[i], capacity 1): dp[j] max(dp[j], dp[j - weights[i]] values[i]) return dp[capacity]正序遍历就是为了让当前物品可以被重复使用。稍微注意一点内层循环从 weights[i] 开始不是从 0 开始因为比物品重量小的容量根本塞不进这个物品省去无意义更新。这句代码看着简单但很多初学者容易把起点写成 0后面容量循环倒是无所谓就是慢。求最小值时把 dp 初始化成一个比所有可能结果都大的数例如 float(inf)dp[0] 保持 0。这样转移时 min 才有得比较否则全被 0 干扰整个数组直接废了。求方案数时dp[0] 初始为 1表示凑成 0 只有一种方案什么都不选其余为 0更新用加法。对应到完全背包这是“组合数版本”的模板dp [0] * (target 1) dp[0] 1 for coin in coins: for j in range(coin, target 1): dp[j] dp[j - coin] return dp[target]这个代码有一点很容易让人疑惑内层正序遍历不会导致重复吗实际上不是重复是“复用”这正是完全背包所需的。组合数场景下允许同一面额多次出现正序遍历能保证这一点。4.2 场景A恰好装满求最值时的边界初始化判断一个题是不是“恰好装满”就看它的答案状态是否有“恰好”和“不超过”的区别。如果题目说“凑齐目标金额”“铺满背包容量”“刚好达到某个数值”那 dp[0] 必须设为 0其他 dp[j] 初始为负无穷最大值问题或正无穷最小值问题。原因很简单只有容量 0 是天然“恰好装满”且价值为 0 的合法起点其他容量本身不可达必须先标记为无效状态等后续转移去填充。如果你不区分“恰好”和“不超过”直接用 dp[j] 0 初始化最后算最大价值时会发现所有容量都像是“可以拼出来”一样把本不能到达的容量也当成了答案来源经典翻车。举个例子。零钱兑换问题求最少硬币数凑成 amountdp 数组初始化成 amount1一个比最优解更大的占位值dp[0]0最后如果 dp[amount] 仍然是 amount1说明凑不出来返回 -1。这个边界判断核心一句话初始化表达的是“从无到有”的有效起点不能图省事全设 0。4.3 场景B容量很大的时候怎么压缩、剪枝、优化完全背包的二维状态里容量维度如果特别大比如 10^9直接开一维数组都放不下。这时有两个常见出路第一如果物品种类少但容量巨大考虑贪心预处理比如“尽量多用性价比高的物品”但要注意贪心只有特定条件下成立并非通用。第二如果物品重量范围小可以用“取模优化”或“单调队列”做多重背包式优化但完全背包天然不需要二进制拆分这种手段却仍然可以用一个基础优化——把物品排序并去掉那些“又被别人完全碾压”的差物品。所谓“碾压”是指两件物品 a 和 b如果 a 的重量大于等于 b 的重量但 a 的价值还小于等于 b 的价值那 a 就是一个无论如何都不占优的选项可以删掉。这种去重能显著压缩物品种类尤其是随机生成数据的题目效果立竿见影。另外一个绝大多数刷题人都容易忽视的点是完全背包最内层循环不一定需要跑到 capacity你可以按物品重量分组。比如在计数问题里如果硬币面值之间存在公因数可以先除以最大公约数把容量和面值都缩小大幅减少数组长度。这个思路在笔试里特别实用能救几个超时的题。5. 实战对照几道经典题型像“病例分析”一样拆给你看5.1 病例一硬币找零类题干通常长这样“有各种面额的硬币每种数量无限问凑成目标金额所需的最少硬币数。”看到“无限”两个字标准完全背包判断成功。目标量是最小值所以模板走 min 路线。实际操作的时候我会把这个题拆成三个字面面额、值金额、度硬币数量。dp[j] 表示金额 j 的最优硬币数转移就是 dp[j] min(dp[j], dp[j - coin] 1)。因为每选择一枚硬币相当于使用一次物品价值是 1。这里硬币是“物品”但价值不是硬币的金额而是“枚数”这也是判断时的一个坑——很多初学者会误把硬币面额当作价值那就全乱套了。5.2 病例二无限供应的组合计数“从给定数组中选出若干数字可重复使它们的和等于 target求组合方案数。”这种题如果不区分顺序就是纯完全背包的组合数版本。进入代码前建议先给“数字排序”这一步加上因为物品正序遍历时如果数组无序不会出错但你要是心血来潮加了个剪枝或者提前返回排序能让你少很多边界思考。实现时外层遍历物品内层正序遍历容量。有一个极其常见的错误把循环顺序写成外层容量、内层物品跑出来结果变成了排列数。笔试里看不到具体样例时这个错误很小藏在结果差异里非常容易忽略。我的经验是如果提交后发现组合数比答案大好几倍先检查循环顺序多半就是这里出了问题。5.3 病例三带顺序的完全背包带顺序的典型场景就是爬楼梯变体“每次可以爬 1、2 或 3 个台阶问爬到 n 级台阶有多少种爬法。”数字不一定连续这就是一个顺序敏感的完全背包排列问题。这题的循环方式恰好与组合数相反外层循环容量台阶数内层循环物品种类步长。因为每到一个容量位置它前面所有可能的最后一步都来自同一个物品种类池并且顺序不同被天然区分。这个细节对初学者的冲击最大因为如果不理解“完全背包不关心顺序”你会一直疑惑为什么同一个背包问题两段代码长得截然不同。我把这三个病例放在一起对比你要记住的其实是完全背包只是“无限取用”这个大框架在这个框架下最大值、最小值、计数、组合、排列各是一套不同的实现细节。判断题型只是第一步紧跟着要判断的还有目标量的属性和顺序敏感性这样才真正做到精确解题。6. 我在实操中判断错的那些题最后都错在哪最后说几个我自己甚至带过的同学反复踩的坑都是从实战中总结出来的比任何理论都值得留意。第一个坑是“误把多重背包当完全背包”。有些题文中没有明确写限量但本质上每件物品有固定数量上限比如“每种零件最多库存 5 个”这时候完全背包纯属送死。我自己现在读完题第一件事不是想状态转移而是先数一数题干里出现多少次“每”字修饰次数。凡是有次数上限的一律先去多重背包部分做判断。第二个坑是过度依赖“正整数”三个字。不少题只给正整数数组很多教程也默认正整数就能用完全背包但实际上有些题暗含“每个元素只能使用一次”的约束比如“从数组中选若干元素每个只能用一次求是否能凑成目标值”。你如果只看到正整数、目标和、凑成就开开心心写了完全背包结果一堆重复使用导致的错误答案。我自己的铁律是题目没说“可重复”那就先按只能用一次来做假设再看有没有反证。第三个坑是求方案数时初始化全设 0。dp[0] 的 1 是全部方案数的种子漏掉这个 1整棵计数树直接没有根。如果你发现答案少得离谱或者输出全是 0十有八九是 dp[0] 初始值错了。别笑这个真的特别常见尤其是从求最大值模板临时改成求方案数时很容易忘了把 dp[0] 从 0 改成 1。第四个坑是“完全背包不排序也能做”的错误认知。在一些组合计数题中给硬币排序不是必需的但如果你后续做了剪枝或提前终止为了保证正确性还是建议先排序。我做这类题已经形成肌肉记忆拿起硬币数组先 sort 一遍排序不会改变答案但会降低你思维负担。还有一个思考习惯想分享当你判断“这题是不是完全背包”犹豫不决时试着把题目里的状态定义写成一句话写在草稿纸上。比如“我可以无限次从 A 类物品里选取去填满容量 B求……”如果这句话读起来通顺自然那完全背包基本没错。如果句子读起来不像“无限次”反而像“每个东西碰一次”赶紧掉头。这个方法听上去笨但比一眼看穿所有套路更适合真实考试环境因为考试写题的时候你的大脑需要的是一个快速、无歧义、可复用的决策模型。完全背包的判断说白了就是抓住“无限重复使用”这个核心标签然后再通过目标方向和顺序敏感度去选模板。做题多了你会发现真正的难点从来不是把模板写出来而是拿到新题能准确判断它属于哪个模板家族。希望大家从这篇分享开始多做一些“题目分类训练”别一上来就敲代码先花三十秒判断这是哪一类背包、要不要处理顺序、边界怎么初始化。练上二三十道以后你会在拿到题的一瞬间就有直觉那才是真学会。

相关新闻

用 Claude Code 重构遗留系统:从混乱到优雅的实战指南

用 Claude Code 重构遗留系统:从混乱到优雅的实战指南

1. 引言:遗留系统的困境与破局 遗留系统(Legacy System)是每个技术团队都绕不开的话题。它们承载着核心业务,却往往代码混乱、文档缺失、技术栈陈旧。重构这类系统,风险高、周期长、见效慢,一直是工程师们最头疼的难题。 Claude Code 的出现,为遗留系统重构提供了一条…

2026/10/18 8:06:11 阅读更多 →
计算机网络面试核心考点与原理深度解析

计算机网络面试核心考点与原理深度解析

计算机网络面试有个很反直觉的现象:很多人把TCP三次握手、四次挥手的流程图背得滚瓜烂熟,结果面试官一句“为什么是三次而不是两次”就能问穿。更别提那些看似简单却暗藏杀机的问题,比如“浏览器输入URL到页面展示发生了什么”,这…

2026/10/18 8:06:11 阅读更多 →
网站前端模板实战:从零搭建静态多页面项目骨架与CSS变量换肤

网站前端模板实战:从零搭建静态多页面项目骨架与CSS变量换肤

简介:网站前端模板压缩包(moban602)面向前端初学者、网页设计师与需要快速搭建站点的开发者,提供一套以 HTML5 与 CSS3 为核心的多页面站点框架,涵盖首页、关于、联系、图库等常见页面。包内共 37 个文件,包…

2026/10/18 8:06:11 阅读更多 →

最新新闻

方差阈值特征选择:原理、实操与Pipeline避坑指南

方差阈值特征选择:原理、实操与Pipeline避坑指南

特征工程里有个挺尴尬的现实:很多人花大力气调模型、换算法,最后发现真正拖后腿的是那堆几乎不变化的特征列。方差阈值选择就是专门解决这个问题的——它不看你跟标签的关系,只看特征自己有没有“波动”。这篇文章我会把方差阈值法的原理、参…

2026/10/18 14:40:42 阅读更多 →
Cesium 自主漫游实战:路径插值、姿态控制与时间轴完整实现

Cesium 自主漫游实战:路径插值、姿态控制与时间轴完整实现

简介:这是一份面向具备一定GIS开发基础读者的Cesium三维开发实战源码包,聚焦于在三维地球场景中实现键盘驱动的自主漫游功能。资源通过监听WASD或方向键事件,结合CallbackProperty逐帧更新小车实体的位置与朝向,并将整套逻辑封装为…

2026/10/18 14:40:42 阅读更多 →
SGK字典学习算法:半正交约束与分块SVD的工程化实现

SGK字典学习算法:半正交约束与分块SVD的工程化实现

简介:本资源为面向图像处理与计算机视觉方向研究者及算法工程师的字典学习核心算法实现包,聚焦SGK(Semi-Orthogonal Generalized K-SVD)这一高效改进型字典学习方法,解决传统K-SVD在大规模数据下计算慢、收敛低的问题&…

2026/10/18 14:40:42 阅读更多 →
MS-GARCH模型详解:MATLAB代码包实现与状态划分避坑指南

MS-GARCH模型详解:MATLAB代码包实现与状态划分避坑指南

简介:马尔科夫转换GARCH(MS-GARCH)模型是融合GARCH与马尔科夫链的金融波动率分析工具,这套MATLAB实现包恰好为研究者与量化学习者提供了可直接运行的代码基础。压缩包共14个文件、约1.34MB,其中12个M文件覆盖主程序、似…

2026/10/18 14:40:42 阅读更多 →
QT FTP客户端开发实战:QFtp迁移与QNetworkAccessManager选型指南

QT FTP客户端开发实战:QFtp迁移与QNetworkAccessManager选型指南

简介:这是一份用Qt编写的FTP客户端示例工程,适合正在学习C网络编程与Qt界面开发的读者。工程完整演示了连接FTP服务器、登录认证、目录浏览和文件上传下载流程,并覆盖FTP主动/被动模式差异,以及Qt网络访问类与QFtp类的典型用法&am…

2026/10/18 14:40:42 阅读更多 →
两个链表字符都相同,却没有公共后缀?2012年408的地址与尾部对齐

两个链表字符都相同,却没有公共后缀?2012年408的地址与尾部对齐

两个单词用带头结点的单链表保存。如果它们有共同后缀,可以让后缀共用同一批结点,不再各存一份。这道题要找到这批公共结点的第一个。 比如loading和being,都以ing结尾。下面只画数据结点,前面各自还有一个头结点: 先…

2026/10/18 14:39:41 阅读更多 →

日新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 0:55:02 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 12:16:16 阅读更多 →