蓝桥杯国赛C组P12314题解:基于同余类分组的集合计数算法
1. 项目概述与核心思路拆解看到“打卡信奥刷题2161用C实现信奥 P12314 [蓝桥杯 2024 国 C] 集合的数量”这个标题我第一反应是这又是一道典型的组合数学或动态规划题而且出自蓝桥杯国赛C组难度和区分度肯定不低。对于正在备战信奥赛或蓝桥杯的同学来说这类题目是检验算法思维和代码实现能力的绝佳试金石。这道题的核心我推测是给定某种规则下的集合定义要求计算符合该规则的集合总数。题目编号P12314结合“集合的数量”这个描述大概率不是简单的子集枚举而是对集合元素或集合间关系有特定约束的组合计数问题。在信奥和蓝桥杯的赛题中“集合的数量”这类问题通常有几个常见的考察方向一是基于容斥原理计算满足若干交并补条件的集合个数二是基于递推或动态规划计算具有某种递推性质的集合族大小三是与数论结合比如计算与某个数互质的数字构成的集合数量等。从“蓝桥杯 2024 国 C”这个信息来看它属于国赛C组题目会更侧重于思维和巧妙的数学转化对纯粹的数据结构和复杂算法模板的依赖可能相对较低但非常考验选手将实际问题抽象为数学模型的能力。我的解题思路通常会遵循以下几步首先彻底理解题意明确“集合”是如何定义的它有哪些限制条件。是数字集合还是某种对象的集合集合的元素范围是什么其次尝试将问题转化为一个可计算的模型。是直接公式计算还是需要递推数据规模有多大这直接决定了我们能否用暴力枚举通常不能以及该用哪种算法。最后设计算法并实现同时考虑边界条件和可能的溢出问题。对于C实现我们还需要特别注意数据类型的选择因为计数结果很容易超出int甚至long long的范围有时需要用到高精度或取模运算。2. 问题分析与数学模型建立要解决这个问题我们首先必须还原题目本身的完整描述。由于这里只提供了标题我需要基于经验对可能的题目内容进行合理重构。一个典型的蓝桥杯国赛C组“集合的数量”问题可能描述如下假设题目描述重构版给定一个参数n和一个参数k。 我们考虑所有由1到n这n个整数构成的集合显然共有2^n个。 现在我们只关心那些满足以下条件的集合SS是{1, 2, ..., n}的一个子集。集合S中任意两个不同的元素它们的和都不是k的倍数。或者说对于任意a, b ∈ S且a ≠ b有(a b) % k ! 0。问满足条件的集合S有多少个结果可能需要对一个大质数如1e97取模。为什么是这种形式这是组合数学中一个非常经典的问题常被称为“互斥和”问题或“模k不同余和”问题。它考察的是对同余类的理解和分组计数的思想。k这个参数引入了模运算的周期性将1~n的数字分到了k个“篮子”同余类里。同一个篮子里的数字两两相加必然是k的倍数因为(aa) % k (2a) % k不一定为0但题目通常约束是不同元素之和。更常见的约束是不能同时选取两个数使得它们除以k的余数之和等于k或0在模k意义下。这需要仔细审题。数学模型建立步骤同余类分组将数字1到n根据它们除以k的余数进行分类。余数r的范围是0到k-1。对于每个余数r计算在1~n中满足x % k r的数字x有多少个。记这个数量为cnt[r]。例如n10, k3余数0数字有 3, 6, 9 -cnt[0]3余数1数字有 1, 4, 7, 10 -cnt[1]4余数2数字有 2, 5, 8 -cnt[2]3分析冲突关系题目条件“集合中任意两数之和不是k的倍数”在模k意义下意味着什么设两数a和b其余数分别为ra和rb。(ab) % k 0等价于(ra rb) % k 0。因此冲突发生在余数之和为0或k的数对之间。具体来说对于余数r和余数(k-r) % k的两个类它们中的数字不能同时被选中因为r (k-r) k模k为0。特殊地当r 0或2*r % k 0时即r 0或k为偶数时r k/2同一个余数类内部的数字也可能冲突因为r r 2r需要模k为0。这取决于题目对“任意两个不同元素”的严格定义。常见且更复杂的变体是同一个类里的数字可以全选因为它们两两相加是2r不一定为k的倍数。但我们必须以题目描述为准。这里我们按一个常见且经典的模型来推导我们不允许集合中包含两个数它们的余数r和s满足(r s) % k 0。这意味着余数0类中的数字不能同时选取两个因为000。当k为偶数时余数k/2类中的数字也不能同时选取两个因为(k/2 k/2) % k 0。对于成对的余数r和k-r其中1 r k/2我们不能同时从这两个类中选取数字。独立决策与乘法原理经过上述分析我们发现不同的“余数对”或“特殊余数类”之间的选择是相互独立的。例如对于一对冲突的余数类(r, k-r)我们的选择只会影响这一对而不会影响其他对。因此我们可以对每一组冲突关系独立计算可选的方案数最后用乘法原理相乘得到总方案数。对于特殊余数类余数0以及当k为偶数时的余数k/2假设该类有m个元素。由于不能同时选取两个那么我们的选择有一个都不选或者只选其中一个。方案数为1 m。注意不能选两个或以上。如果题目允许选多个只要和不为k的倍数那么对于余数0选任意多个它们两两之和是2*00模k为0违反条件。所以确实不能选超过一个。对于余数k/2两两之和是k模k为0同样不能选超过一个。这个逻辑是自洽的。对于一对冲突的余数类(r, k-r)其中1 r k/2设两个类分别有A和B个元素。我们从这两个类中选数但不能同时从两个类中都选因为任意选一个来自r类的数和一个来自k-r类的数其和模k为0。那么所有可能的选择是只从r类中选可以选0, 1, ..., A个共(2^A)种方式每个元素选或不选。只从k-r类中选可以选0, 1, ..., B个共(2^B)种方式。两个类都不选这1种情况在情况1和2中都被包含了选0个所以我们需要合并计算。更清晰的思考是总的可选方案是要么从r类中任意选包括不选同时k-r类一个不选要么从k-r类中任意选包括不选同时r类一个不选。但“两个类都不选”这种情况被计算了两次。所以方案数为2^A 2^B - 1。另一种等价的理解所有子集数是2^A * 2^B 2^(AB)。非法方案是“两个类都至少选一个”的子集数量为(2^A - 1) * (2^B - 1)。合法方案为2^(AB) - (2^A - 1)*(2^B - 1) 2^A 2^B - 1。结果一致。最终计算公式总方案数ans 1初始值代表空集。处理特殊余数类0ans * (1 cnt[0])。如果k为偶数处理特殊余数类k/2ans * (1 cnt[k/2])。对于每一对r 1 to (k-1)//2且r ! k/2如果k为偶数ans * (fast_pow(2, cnt[r]) fast_pow(2, cnt[k-r]) - 1)注意每一步乘法后都要进行取模操作。最后ans就是答案可能已取模。注意这是一个基于经典模型的推导。实际题目可能有细微变化例如“任意两个不同元素”可能不包括自己加自己那么余数0类内部选多个可能是允许的因为aa2a要使2a % k 0需要k整除2a这不总是成立。这凸显了仔细审题的重要性。我们下面的实现将基于上述经典约束。如果题目约束不同调整对应部分的计算逻辑即可。3. 算法设计与C实现详解基于上一节建立的数学模型我们现在可以设计算法并用C实现。核心步骤是计算每个余数类的元素个数然后按照冲突关系分组计算方案数最后用乘法原理合并。3.1 数据结构与输入处理首先我们需要读取输入。题目通常会提供两个整数n和k。#include iostream #include vector using namespace std; const int MOD 1e9 7; // 常见的取模质数 int main() { long long n, k; cin n k; // ... 后续代码 }接下来我们需要计算cnt[0], cnt[1], ..., cnt[k-1]。这里有一个技巧对于1到n中的每个数字i它的余数是i % k。但直接遍历1到n在n很大比如1e9时会超时。我们必须用数学公式O(1)计算每个余数类的数量。计算cnt[r]的公式在1到n中除以k余数为r的数构成了一个等差数列r, rk, r2k, ...。 项数cnt[r] (n - r) / k 1但前提是r在1到n的范围内即r n。如果r 0我们需要特殊处理因为余数0对应的数字是k, 2k, 3k, ...即r0时第一个数是k本身如果k n。更通用的公式是如果r 0那么满足条件的数有n / k个即k, 2k, ..., floor(n/k)*k。如果r ! 0那么满足条件的数有(n - r) / k 1个但前提是r n否则为0。我们可以用一个循环统一处理vectorlong long cnt(k, 0); // 存储每个余数类的元素个数 for (int r 0; r k; r) { if (r 0) { cnt[r] n / k; // 余数0的数字个数 } else { if (r n) { cnt[r] 0; } else { cnt[r] (n - r) / k 1; } } }3.2 快速幂取模在计算2^A mod MOD时由于A即cnt[r]可能很大我们不能直接用pow(2, A)会溢出且慢。需要使用快速幂算法在O(log A)时间内计算。// 快速幂函数计算 base^exp % mod long long fast_pow(long long base, long long exp, long long mod) { long long result 1; base % mod; // 防止base过大 while (exp 0) { if (exp 1) { // 如果exp是奇数 result (result * base) % mod; } base (base * base) % mod; exp 1; // exp / 2 } return result; }3.3 核心计算逻辑现在按照数学模型进行计算初始化答案ans 1。处理特殊余数类0ans ans * (1 cnt[0]) % MOD。这里1代表不选cnt[0]代表选其中一个。如果k是偶数处理特殊余数类k/2ans ans * (1 cnt[k/2]) % MOD。处理成对的余数类(r, k-r)其中r从1到(k-1)/2并且当k为偶数时要跳过r k/2因为已经处理过。计算ways (fast_pow(2, cnt[r], MOD) fast_pow(2, cnt[k-r], MOD) - 1) % MOD。为了防止负数取模可以(ways MOD) % MOD。ans ans * ways % MOD。3.4 完整代码实现将以上所有部分组合起来并注意处理k1的边界情况此时所有数余数都是0只能选0个或1个方案数为n1等等需要根据模型判断。在我们的模型里k1时任意两数之和ab都是1的倍数因为任何整数都是1的倍数所以条件“和不是k的倍数”永远无法满足除非集合元素少于2个。但题目通常不会出现这种平凡或矛盾的情况或者会特别说明。我们假设k 2。#include iostream #include vector using namespace std; const int MOD 1e9 7; long long fast_pow(long long base, long long exp, long long mod) { long long res 1; base % mod; while (exp 0) { if (exp 1) res (res * base) % mod; base (base * base) % mod; exp 1; } return res; } int main() { long long n, k; cin n k; // 1. 统计每个余数类的元素个数 vectorlong long cnt(k, 0); for (int r 0; r k; r) { if (r 0) { cnt[r] n / k; // 数字k, 2k, ... floor(n/k)*k } else { if (r n) { cnt[r] 0; } else { cnt[r] (n - r) / k 1; // 数字r, rk, r2k, ... } } } // 2. 计算总方案数 long long ans 1; // 处理余数0类 ans ans * (1 cnt[0]) % MOD; // 如果k是偶数处理余数k/2类 if (k % 2 0) { int mid k / 2; ans ans * (1 cnt[mid]) % MOD; } // 处理成对的余数类 (r, k-r) int pair_end (k % 2 0) ? (k / 2 - 1) : (k / 2); // 当k为偶数时最大r到k/2-1 for (int r 1; r pair_end; r) { long long ways (fast_pow(2, cnt[r], MOD) fast_pow(2, cnt[k - r], MOD) - 1) % MOD; ways (ways MOD) % MOD; // 防止负数 ans ans * ways % MOD; } cout ans endl; return 0; }3.5 代码要点与注意事项数据类型n和k可能很大比如1e9cnt[r]也可能很大所以使用long long。在快速幂和乘法运算中也要注意使用long long并及时取模防止中间结果溢出。取模运算减法取模后可能为负需要(x % MOD MOD) % MOD来调整到非负。边界条件k n的情况此时很多余数类cnt[r]为0。公式依然适用。例如r n时cnt[r]0那么2^0 1计算ways 1 1 - 1 1不影响结果。k 1的情况根据我们的模型所有数余数都是0只能选0个或1个答案是n1。但题目可能不会出现或者有不同解释。上述代码在k1时pair_end0循环不执行只处理了余数0类ans 1 * (1 n) n1与模型一致。但务必确认题目原意。时间复杂度计算cnt数组是O(k)快速幂计算是O(log n)但我们对每个r至多计算两次快速幂总复杂度O(k log n)。在k不大比如k n且k在可接受范围时是高效的。如果k也很大比如1e9这个算法就不行了需要更数学化的公式。但蓝桥杯国赛C组的数据规模通常会设计得让O(k)算法可行。4. 测试与验证编写完代码必须用多个测试用例进行验证包括边界情况。测试用例1小规模验证输入 n3, k2分析数字1,2,3。余数0类偶数{2}cnt[0]1。余数1类奇数{1,3}cnt[1]2。k2为偶数有特殊类k/21。 计算处理余数0ans 1 * (11) 2。处理余数1ans 2 * (12) 6。无成对类。 总方案数应为6。我们枚举所有子集验证 {}, {1}, {2}, {3}, {1,2}, {1,3}, {2,3}, {1,2,3}。 检查条件任意两数和不为2的倍数即不能都是奇数或都是偶数等等奇数奇数偶数是2的倍数偶数偶数偶数是2的倍数奇数偶数奇数不是2的倍数。{}: 通过。{1}: 通过。{2}: 通过。{3}: 通过。{1,2}: 123不是2倍数通过。{1,3}: 134是2倍数不通过。{2,3}: 235不是2倍数通过。{1,2,3}: 包含{1,3}不通过。 所以通过的子集有{}, {1}, {2}, {3}, {1,2}, {2,3}。共6个。符合。测试用例2输入 n5, k3数字1,2,3,4,5。余数0: {3}cnt1。余数1: {1,4}cnt2。余数2: {2,5}cnt2。 计算余数0:ans 1 * (11) 2。k3为奇数无k/2类。成对类r1, k-r2。ways 2^2 2^2 - 1 44-17。ans 2 * 7 14。 枚举验证较为繁琐但可以通过程序对拍或小脚本验证。测试用例3边界情况输入 n1, k100只有数字1余数1类cnt1其他类cnt0。余数0: cnt0,ans1*(10)1。k为偶数mid50, cnt[50]0,ans1*(10)1。成对类r从1到49对于大多数rcnt[r]0, cnt[k-r]0,ways11-11。对于r1, cnt[1]1, cnt[99]0,ways2^12^0-121-12。 最终结果应为2。符合条件的集合{} 和 {1}。因为只有一个元素任意两数之和的条件自动满足因为没有两个不同的元素。正确。测试用例4取模验证输入 n1000000000, k1000这个数据较大无法枚举。我们的算法复杂度是O(k log n)k1000完全可行。主要验证取模是否正确以及是否溢出。可以编写一个暴力程序对小数据对拍确保逻辑正确。实操心得在竞赛中对于计数问题一定要对小的、可枚举的样例进行手动或暴力程序验证。这是确保公式和代码逻辑正确的最后一道防线。特别是边界情况n0, k1, nk等虽然题目可能保证输入范围但自己考虑周全能避免很多失分。5. 算法优化与扩展思考虽然上述O(k)的算法对于合理的k已经足够但如果k非常大比如接近n我们可能需要进一步优化。观察发现cnt[r]的值只有两种可能floor(n/k)或floor(n/k)1。具体来说cnt[0] n/k。对于r 1 to n%kcnt[r] n/k 1。对于r n%k1 to k-1cnt[r] n/k。 这意味着我们不需要遍历所有k个余数类只需要知道n/k和n%k然后根据r是否小于等于n%k来判断cnt[r]是base1还是base。这样在计算成对类(r, k-r)时很多ways是相同的可以用快速幂配合乘法加速将复杂度降到O(min(k, n%k))甚至更低。但对于蓝桥杯赛场O(k)算法通常足够。扩展思考如果题目条件变化条件变为“集合中任意两个元素可以相同的和不是k的倍数”这意味着同一个元素不能出现两次集合本身元素互异但条件对(a, a)也成立。那么对于余数0类如果选了任何一个数因为aa2a需要保证2a % k ! 0。这可能意味着某些余数0类的数也不能选。情况变得更复杂需要对每个余数类内的每个元素进行判断。条件变为“集合中所有元素之和不是k的倍数”这是另一个经典问题通常用动态规划求解dp[i][j]表示前i个数中选出若干个数总和模k为j的方案数。如果集合元素不是1~n而是给定一个数组那么就需要用哈希表统计每个余数出现的次数然后逻辑相同。对于蓝桥杯备赛的建议掌握核心模型这道题本质是“模k同余类分组冲突组合计数”。类似的题目有很多变种核心都是利用模运算将无限域问题转化为有限个类的问题。熟练快速幂与取模大数取模是国赛必考内容。必须熟练掌握快速幂、乘法逆元如果涉及除法取模、以及如何处理负数取模。注意数据范围与数据类型long long是好朋友。如果结果可能超过long long例如本题如果不取模就需要用高精度或者边算边取模题目通常会要求取模。从暴力到优化在思考时可以先想一个暴力枚举子集的解法用于验证小数据然后寻找规律转化为数学模型。暴力枚举的代码也可以作为对拍器。最后这道题的实现代码虽然不长但蕴含了组合数学、数论同余、快速幂等多个知识点是一道质量很高的综合题。在平时练习时不仅要写出AC代码更要像这样深入理解其背后的数学模型并思考各种变形的可能性这样才能在赛场上灵活应对。

相关新闻

如何快速掌握Detect-It-Easy:文件安全检测工具的完整指南

如何快速掌握Detect-It-Easy:文件安全检测工具的完整指南

如何快速掌握Detect-It-Easy:文件安全检测工具的完整指南 【免费下载链接】Detect-It-Easy Program for determining types of files for Windows, Linux and MacOS. 项目地址: https://gitcode.com/gh_mirrors/de/Detect-It-Easy 在数字安全日益重要的今天&…

2026/10/19 19:32:27 阅读更多 →
深度硬件调优:解锁AMD Ryzen隐藏性能的工程实践

深度硬件调优:解锁AMD Ryzen隐藏性能的工程实践

深度硬件调优:解锁AMD Ryzen隐藏性能的工程实践 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https://gitcode.…

2026/10/21 4:53:26 阅读更多 →
MusicFree插件完整指南:三分钟解锁全网免费音乐资源

MusicFree插件完整指南:三分钟解锁全网免费音乐资源

MusicFree插件完整指南:三分钟解锁全网免费音乐资源 【免费下载链接】MusicFreePlugins MusicFree播放插件 项目地址: https://gitcode.com/gh_mirrors/mu/MusicFreePlugins 还在为各大音乐平台的VIP限制而烦恼吗?想要一个真正免费、跨平台的音乐…

2026/10/20 5:41:03 阅读更多 →

最新新闻

大模型推理优化与部署实战:从KV Cache、量化到服务压测

大模型推理优化与部署实战:从KV Cache、量化到服务压测

大语言模型能写诗、能写代码,可是一旦真实跑到线上去服务用户,推理优化与部署才是真正决定系统能不能撑住的那道关卡。很多团队花大力气训好了模型,结果一上线就暴露各种问题:单请求时延太高、并发上来直接OOM、一个长对话把显存吃…

2026/10/21 4:52:56 阅读更多 →
Redis热Key从发现到治理:大厂高并发缓存优化实践

Redis热Key从发现到治理:大厂高并发缓存优化实践

Redis热Key这个事,干后端的人早晚都会碰上。我印象特别深的一次,是某次大促压测,一个商品维度的Key QPS直接冲到了几十万,Redis实例的CPU先扛不住了,整个链路的响应时间从2毫秒一路飙到几百毫秒,紧接着就是…

2026/10/21 4:52:56 阅读更多 →
Yeastar PSTN网关与FreePBX对接实战:SIP中继配置避坑指南

Yeastar PSTN网关与FreePBX对接实战:SIP中继配置避坑指南

1. 从一通打不通的外线电话说起如果你正在看这篇内容,大概率你手里正握着一台Yeastar的PSTN网关,或者正准备把它和FreePBX对接起来。我先说结论:这套组合能跑通,而且跑通之后非常稳定,但中间有几个坑,几乎每…

2026/10/21 4:52:56 阅读更多 →
知识工作插件实战:从采集到温习的全流程效率工具

知识工作插件实战:从采集到温习的全流程效率工具

先聊聊我为什么会对“knowledge-work-plugins”这个东西上瘾。这几年我一直在一线做知识型项目,每天的工作基本就是读资料、写笔记、做分析、出方案,坏消息是中间的衔接环节特别散。今天在文档里看到一句话很关键,明天可能就忘在哪个聊天记录…

2026/10/21 4:52:56 阅读更多 →
为什么1.58比特就够了?揭秘parakeet-redux三值量化的核心原理

为什么1.58比特就够了?揭秘parakeet-redux三值量化的核心原理

人工智能语音模型量化模型压缩 【免费下载链接】parakeet-redux 项目地址: https://ai.gitcode.com/hf_mirrors/moondream/parakeet-redux 点击查看 免费下载 parakeet-redux 是一个 1.58 比特三值量化(ternary quantization)的自动语音识别…

2026/10/21 4:52:56 阅读更多 →
论文数据炼金术:AI辅助从提取到清洗的全流程实战

论文数据炼金术:AI辅助从提取到清洗的全流程实战

写在前面:这篇东西不是软件广告,也不打算把某个工具吹成神话。它就来自我自己平时处理论文数据的一堆真实经历:从抓取文献里的零散数据,到清洗成一张能看能算的表,再到最后写出方法学和图表描述,中间踩过的…

2026/10/21 4:51:55 阅读更多 →

日新闻

统一内存+量化:锐龙AI Max PRO 400如何本地跑320B大模型

统一内存+量化:锐龙AI Max PRO 400如何本地跑320B大模型

这段时间硬件圈和AI圈都在传一个事:AMD锐龙AI Max PRO 400系列把最高192GB统一内存搬进了PC形态的产品里,按宣传口径,本地跑320B参数的大家伙不再是纸面概念。我第一反应倒不是“内存真大”,而是这话背后的含金量——它把过去只能…

2026/10/21 0:00:11 阅读更多 →
AI助手深度使用体验:对话质量、长文本处理与指令遵循如何留住用户

AI助手深度使用体验:对话质量、长文本处理与指令遵循如何留住用户

1. 从“封号重开”这个行为说起:用户到底在追求什么“封号重开”这四个字,放在任何产品语境里都带着一股决绝的味道。一个账号从零开始积累使用记录、调教偏好、沉淀工作流,背后是大量的时间和精力成本。正常情况下,没有人愿意主动…

2026/10/21 0:00:11 阅读更多 →
ROS中YOLOv3工程落地:通信同步、坐标变换与性能调优

ROS中YOLOv3工程落地:通信同步、坐标变换与性能调优

1. 为什么在ROS里硬刚YOLOv3不是“炫技”,而是工程落地的必经之路我第一次在某高校机器人实验室看到那台搭载Jetson TX2的移动底盘原地打转、反复识别错垃圾桶时,就意识到:单纯跑通darknet_ros demo和真正让YOLOv3在ROS里“干活”&#xff0c…

2026/10/21 0:00:11 阅读更多 →

周新闻

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

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

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

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

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

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

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

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

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

2026/10/21 4:27:17 阅读更多 →

月新闻

我发现了一个新思路:用 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/20 10:02:08 阅读更多 →
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/20 9:50:17 阅读更多 →
黑夜航拍船只数据集训练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/20 9:50:45 阅读更多 →