当前位置: 首页 > article >正文

备战蓝桥杯国赛【Day 17】

写在前面今天的4道题全部来自蓝桥杯真题核心考点包括贪心策略排序、自定义比较器、差分思想、前缀和贪心选择。这些题目看似简单但暗藏陷阱是检验代码实现能力和思维细致度的绝佳素材。 今日刷题清单题号题目来源类型难度核心考点1阿坤老师的独特瓷器蓝桥杯3994贪心排序⭐⭐⭐逆向遍历、维护最值、排序比较器2封闭图形个数蓝桥杯19733自定义排序⭐⭐⭐多关键字排序、cmp_to_key、数位拆分3摆玩具蓝桥杯5888贪心差分⭐⭐⭐⭐差分思想、贪心选择最大间隙4小蓝的零花钱蓝桥杯3236前缀和贪心⭐⭐⭐⭐前缀和判平衡、贪心选最小代价一、阿坤老师的独特瓷器1.1 题目描述阿坤老师有n个瓷器每个瓷器有两个属性直径d和高度h。一个瓷器被称为独特瓷器当且仅当它的直径d是所有瓷器中最大的直径最大的一定是独特瓷器或者它的高度h比所有直径比它大的瓷器的高度都要高换句话说将瓷器按直径从大到小排序后如果一个瓷器的高度是当前遍历过的最大值那它就是独特瓷器。1.2 关键思路排序逆向维护最大值暴力思路对每个瓷器遍历所有直径比它大的瓷器检查高度是否最大。时间O(n²)。超时原因n可能到10⁵O(n²)不可接受。优化思路按直径降序排序直径大的排前面逆向遍历从直径最大的开始维护当前见过的最大高度判断如果当前瓷器的高度≥ max_h则它是独特瓷器更新max_h为什么逆向遍历直径最大的瓷器一定是独特瓷器没有直径比它更大的从大到小遍历每个瓷器只需要和已经遍历过的即直径更大的比较高度用max_h维护已遍历瓷器的最大高度O(1) 判断1.3 推演验证输入: n5 瓷器: (d,h) [(3,5), (1,2), (4,7), (2,6), (5,1)] 按直径降序排序: (5,1), (4,7), (3,5), (2,6), (1,2) 逆向遍历从直径最大的开始: i0: (5,1), max_h1, 11 ✓, ans1 i1: (4,7), 71 ✓, max_h7, ans2 i2: (3,5), 57 ✗ i3: (2,6), 67 ✗ i4: (1,2), 27 ✗ ans 2 验证 - (5,1): 直径最大独特 ✓ - (4,7): 直径比它大的只有(5,1)h71独特 ✓ - (3,5): 直径比它大的有(5,1),(4,7)max_h757不独特 ✗ - (2,6): 直径比它大的有(5,1),(4,7),(3,5)max_h767不独特 ✗ - (1,2): 直径比它大的有...max_h727不独特 ✗1.4 题解nint(input())dh[]for_inrange(n):d,hmap(int,input().split())dh.append((d,h))# 按直径降序排序直径相同则按高度升序其实高度无所谓因为直径相同不会互相比较dhsorted(dh,keylambdax:(-x[0],x[1]))ans1# 直径最大的一定是独特瓷器max_hdh[0][1]# 当前最大高度foriinrange(1,n):# 如果当前高度 之前所有直径更大的的最大高度ifdh[i][1]max_h:ans1# 更新最大高度max_hmax(max_h,dh[i][1])print(ans)复杂度时间O(n log n)排序空间O(n)1.5 关键细节坑点说明排序方向直径降序所以keylambda x: -x[0]初始值ans1因为直径最大的瓷器一定是独特瓷器max_h更新时机先判断再更新还是先更新再判断应该是先判断用旧max_h然后更新直径相同的情况题目说直径比它大所以直径相同的不会互相影响。排序时直径相同的放一起遍历时会自然处理为什么dh[i][1] max_h后要max_h max(max_h, dh[i][1])其实dh[i][1] max_h时max_h dh[i][1]就行但为了代码简洁统一写max1.6 进一步优化思考原代码有个细节max_hmax(max_h,dh[i][1])ifdh[i][1]max_h:ans1这里先更新max_h再判断逻辑等价于ifdh[i][1]max_h:ans1max_hdh[i][1]else:max_hmax_h# 不变因为max_h更新后dh[i][1] max_h仍然成立max_h要么不变要么变小… 不对max_h max(max_h, dh[i][1])会让max_h变大或不变。实际上原代码的逻辑是先更新max_h max(max_h, dh[i][1])然后判断dh[i][1] max_h如果dh[i][1] max_h旧则max_h更新为dh[i][1]然后dh[i][1] max_h成立等于。如果dh[i][1] max_h旧则max_h不变dh[i][1] max_h成立等于。如果dh[i][1] max_h旧则max_h不变dh[i][1] max_h不成立。所以原代码等价于if dh[i][1] max_h_old: ans 1; max_h max(max_h_old, dh[i][1])逻辑正确。但建议写成更清晰的形式foriinrange(1,n):ifdh[i][1]max_h:ans1max_hdh[i][1]二、封闭图形个数2.1 题目描述蓝桥王国的数字大小规则很特别一个数字的大小由它的封闭图形个数决定。每个数字的封闭图形个数0, 4, 6, 91个82个1, 2, 3, 5, 70个排序规则封闭图形个数少的排在前面如果个数相同数字本身小的排在前面给定n个数字按此规则排序输出。2.2 关键思路多关键字排序核心自定义比较函数先比封闭图形个数个数相同再比数值大小。Python实现使用functools.cmp_to_key将比较函数转为key函数。2.3 推演验证输入: n3, a[18, 29, 6] 计算封闭图形个数 18: 1(1个) 0(8有2个?) 等等重新算 1: 0个, 8: 2个 → 18有2个 2: 0个, 9: 1个 → 29有1个 6: 1个 → 6有1个 排序 29: 1个 6: 1个个数相同629所以6在前 18: 2个 输出: 6 29 18 ✓2.4 题解fromfunctoolsimportcmp_to_key# 每个数字的封闭图形个数ls[1,0,0,0,1,0,1,0,2,1]# 索引: 0 1 2 3 4 5 6 7 8 9nint(input())alist(map(int,input().split()))defcompare(a,b): 比较函数返回负数表示aba排前面正数表示ab0表示相等 # 计算a的封闭图形个数numasum([ls[int(i)]foriinstr(a)])# 计算b的封闭图形个数numbsum([ls[int(i)]foriinstr(b)])# 先比封闭图形个数ifnumanumb:return-1elifnumanumb:return1# 个数相同比数字本身大小ifab:return-1elifab:return1else:return0# 使用cmp_to_key进行自定义排序a.sort(keycmp_to_key(compare))print(*a)复杂度时间O(n log n × digit)digit是数字位数通常很小空间O(n)2.5 关键细节坑点说明cmp_to_keyPython3 取消了sort(cmp...)必须用functools.cmp_to_key比较函数返回值返回负数表示aba排前面不是返回True/False数字转字符串str(a)拆分成每一位再转int查表ls数组索引ls[0]10有1个封闭图形ls[8]28有2个负数处理如果输入有负数str(-5)会得到-5int(-)会报错。但题目说正整数不用考虑2.6 优化版本预计算如果n很大每次比较都计算封闭图形个数会重复。可以预计算fromfunctoolsimportcmp_to_key ls[1,0,0,0,1,0,1,0,2,1]nint(input())alist(map(int,input().split()))# 预计算每个数字的封闭图形个数circle_count{}fornumina:ifnumnotincircle_count:circle_count[num]sum(ls[int(i)]foriinstr(num))defcompare(a,b):ca,cbcircle_count[a],circle_count[b]ifca!cb:return-1ifcacbelse1return-1ifabelse(1ifabelse0)a.sort(keycmp_to_key(compare))print(*a)三、摆玩具2.1 题目描述小蓝有n个玩具按高度从矮到高摆放在窗台上。他想分成k段使得所有分段的极差之和尽可能小。极差一段中最高和最矮的高度之差。输入n, k和高度数组h已排序输出最小极差和3.2 关键思路差分贪心选最大间隙核心观察数组已经升序排列如果不分段k1极差和 h[n-1] - h[0]整体极差如果分成k段需要在k-1个位置切断切断的位置相邻两个玩具的高度差越大切断后省下的极差越多贪心策略计算所有相邻高度差diff[i] h[i] - h[i-1]选择最大的k-1个差值作为切断点最小极差和 总极差 - 最大的k-1个差值之和为什么整体极差 h[n-1] - h[0] diff[1] diff[2] ... diff[n-1]如果在diff[i]处切断这一段对总极差的贡献就变成0因为被分成了两段各自计算极差所以要让总极差最小就要让省下的极差最大即选择最大的k-1个diff3.3 推演验证输入: n5, k2, h[2, 5, 7, 10, 13] 相邻差值: diff [3, 2, 3, 3] (5-23, 7-52, 10-73, 13-103) k2需要选1个最大差值切断 最大差值 3有3个都是3任选一个 如果不切断极差 13-2 11 切断后比如在第一个3处切断 段1: [2,5], 极差3 段2: [7,10,13], 极差6 总和 36 9 用公式总极差 - 最大差值 11 - 3 8? 不对... 等等重新理解 整体极差 13-2 11 diff总和 3233 11 ✓ 如果在diff[0]3处切断即在2和5之间切断 段1: [2], 极差0 段2: [5,7,10,13], 极差8 总和 08 8 用公式总极差 - 切断的差值 11 - 3 8 ✓ 样例输出是8 ✓3.4 题解n,kmap(int,input().split())hlist(map(int,input().split()))# 已经按高度排序题目说从矮到高摆放h.sort()# 计算相邻差值diff[]foriinrange(1,n):diff.append(h[i]-h[i-1])# 贪心选最大的k-1个差值作为切断点diff.sort(reverseTrue)# 总极差 最后一个 - 第一个 h[n-1] - h[0]# 也可以 sum(diff)totalh[-1]-h[0]# 减去最大的k-1个差值foriinrange(k-1):total-diff[i]print(total)更简洁的版本n,kmap(int,input().split())hlist(map(int,input().split()))h.sort()diff[h[i]-h[i-1]foriinrange(1,n)]diff.sort(reverseTrue)# 或者直接 sum(diff[k-1:])print(sum(diff[k-1:]))复杂度时间O(n log n)排序空间O(n)3.5 关键细节坑点说明h.sort()题目说从矮到高但输入不一定有序必须排序diff长度n-1个差值k段需要k-1个切断点k1的情况range(0)不执行循环total不变正确kn的情况每个玩具一段极差和为0。diff选n-1个剩下0个sum([])0✓排序方向diff.sort(reverseTrue)降序选前k-1个最大的3.6 本质理解整体极差 diff[0] diff[1] ... diff[n-2] 分成k段 选k-1个位置切断 切断后这k-1个diff不再计入总极差 所以最小极差和 sum(diff) - max(k-1个diff) 剩余(n-k)个diff的和这就是代码sum(diff[k-1:])的含义去掉最大的k-1个剩下的求和。四、小蓝的零花钱4.1 题目描述小蓝有一个长度为n的序列奇数和偶数的数量相等。他可以在某个位置切割将序列分成两段要求每段中奇数和偶数的数量都相等。切割的代价 切割位置两端元素的差的绝对值|a[i] - a[i1]|。小蓝有B元零花钱求最多能切割几次。输入n, B和序列a输出最多切割次数4.2 关键思路前缀和判平衡贪心选最小代价第一步判断可切割位置什么位置可以切割切割后左边一段奇偶数量相等右边一段奇偶数量相等因为整体奇偶数量相等所以如果左边相等右边一定也相等证明设整体有E个偶数O个奇数E O左边有e个偶数o个奇数若e o右边有E-e个偶数O-o个奇数因为EO且eo所以E-e O-o右边也相等 ✓所以只需要判断前缀中奇数和偶数是否相等第二步用前缀和找切割点遍历序列维护cnt遇到偶数1遇到奇数-1当cnt 0时说明当前位置前缀中奇偶数量相等可以切割切割代价 |a[i] - a[i1]|第三步贪心选择可能有多个可切割位置每个位置有不同的代价要最大化切割次数就要优先选择代价小的位置将所有可切割位置的代价排序从小到大选直到预算用完4.3 推演验证输入: n6, B3, a[1, 2, 3, 4, 5, 6] 遍历找切割点 i0: a[0]1(奇), cnt-1 i1: a[1]2(偶), cnt-110 → 可以切割代价|2-3|1 i2: a[2]3(奇), cnt0-1-1 i3: a[3]4(偶), cnt-110 → 可以切割代价|4-5|1 i4: a[4]5(奇), cnt0-1-1 可切割位置: [1, 1]代价都是1 排序: [1, 1] B3: 选第一个: B3-12, ans1 选第二个: B2-11, ans2 输出: 2 ✓4.4 题解n,bmap(int,input().split())alist(map(int,input().split()))cnt0# 前缀中(偶数个数 - 奇数个数)为0表示奇偶数量相等res[]# 存储所有可切割位置的代价# 遍历到n-2保证i1不越界foriinrange(n-1):ifa[i]%20:cnt1else:cnt-1# 前缀奇偶数量相等可以在这里切割ifcnt0:res.append(abs(a[i]-a[i1]))# 贪心优先选择代价小的res.sort()ans0forcostinres:ifbcost:# 注意原代码是 不是 严格大于才切割b-cost ans1else:breakprint(ans)复杂度时间O(n log n)排序res空间O(n)4.5 关键细节坑点说明cnt的更新偶数1奇数-1不是反过来cnt 0的含义前缀中偶数个数 奇数个数可以切割切割位置在i和i1之间切割代价是 b cost还是b cost原代码是严格大于。如果b cost不切割切割后b0但代码逻辑是不切range(n-1)遍历到倒数第二个元素因为切割需要i1为什么整体奇偶相等就能保证前缀和为0时左边奇偶相等整体奇偶相等所以右边也相等4.6 进一步优化如果n很大但B很小可以用**优先队列最小堆**动态维护但本题n ≤ 100直接排序即可。边界情况n2只有一个切割位置如果奇偶各一个没有可切割位置res为空输出0 今日复盘总结题目核心技巧思维路径易错点国赛价值独特瓷器排序逆向维护最值直径降序→从大到小遍历→维护最大高度排序方向、初始ans1、max_h更新时机⭐⭐⭐ 经典贪心封闭图形个数自定义排序数位拆分→查表→多关键字排序cmp_to_key用法、比较函数返回值⭐⭐⭐ 基础技巧摆玩具差分贪心选最大间隙升序排列→算相邻差→选最大k-1个切断diff长度n-1、排序方向、sum(diff[k-1:])⭐⭐⭐⭐ 差分思想小蓝的零花钱前缀和判平衡贪心选最小偶1奇-1→cnt0可切→代价排序从小到大cnt更新方向、bcost不是、range(n-1)⭐⭐⭐⭐ 综合应用

相关文章:

备战蓝桥杯国赛【Day 17】

📌 写在前面:今天的4道题全部来自蓝桥杯真题,,核心考点包括:贪心策略排序、自定义比较器、差分思想、前缀和贪心选择。这些题目看似简单,但暗藏陷阱,是检验"代码实现能力"和"思维…...

UP Squared 6000工业级创客板:边缘AIoT开发与部署实战指南

1. 项目概述:UP Squared 6000,一块能“扛事”的工业级创客板在工业自动化和边缘AIoT项目里摸爬滚打这么多年,我经手过不少开发板,从早期的树莓派到各种国产派,再到工业级的工控机。很多时候,我们面临一个尴…...

Boomi 与 Gong 达成合作,将 Revenue AI 引入 Boomi Agentstudio

Gong 的 Revenue AI 现已原生集成至 Boomi Enterprise Platform 面向 AI 时代的数据激活公司 Boomi 今日宣布,与 Revenue AI 领域领导者 Gong 达成合作,将 Gong 捕获的营收信号原生整合至 Boomi Enterprise Platform。通过此次合作,企业可构…...

工业作业火花识别 工业作业安全监测 工业安全火灾识别 火灾烟雾识别

火灾、烟雾及火花检测数据集 数据集概述 本数据集面向计算机视觉目标检测场景构建,聚焦火情风险要素识别,为烟火火花类智能监测模型训练提供标准化图像数据支撑,整体适配深度学习目标检测算法训练、验证与测试流程,可有效支撑安防…...

嵌入式Linux无线AP搭建实战:hostapd与udhcpd配置详解

1. 项目概述:为什么要在嵌入式设备上折腾无线AP?最近在调试一个移动机器人项目,设备上跑的是裁剪过的嵌入式Linux系统。调试过程里最头疼的就是网线——设备满场跑,我得抱着笔记本在后面追,活像在玩现实版的“老鹰捉小…...

终极指南:如何快速免费解决GBK到UTF-8编码转换难题

终极指南:如何快速免费解决GBK到UTF-8编码转换难题 【免费下载链接】GBKtoUTF-8 To transcode text files from GBK to UTF-8 项目地址: https://gitcode.com/gh_mirrors/gb/GBKtoUTF-8 还在为乱码文件而烦恼吗?GBKtoUTF-8是一款专为中文文本编码…...

NVDC充电架构深度解析:智能电源管理如何提升笔记本性能与电池寿命

1. 项目概述:NVDC充电器,一个被低估的“能量管家”如果你是一位经常需要带着笔记本电脑移动办公的资深用户,或者是一位对设备续航和充电效率有极致追求的硬件爱好者,那么“NVDC”这个词,很可能已经或即将进入你的视野。…...

RFSoC玩转跳频通信:从NCO配置到多片同步的实战指南(Zynq UltraScale+ RFSoC Gen 3)

RFSoC跳频通信实战:从NCO配置到多片同步的高级技巧 跳频通信技术在现代无线系统中扮演着关键角色,尤其在抗干扰和频谱感知应用中。Xilinx的Zynq UltraScale RFSoC Gen 3平台凭借其集成的RF数据转换器和灵活的数字信号处理能力,为跳频系统设计…...

Cadence Allegro 16.6 环境设置保姆级教程:从绘图参数到自动保存,新手避坑指南

Cadence Allegro 16.6 环境设置实战指南:从零配置到高效设计 第一次打开Cadence Allegro 16.6时,满屏的菜单选项和参数设置可能会让新手感到无所适从。作为一款专业的PCB设计工具,Allegro提供了高度可定制的工作环境,但这也意味着…...

Perplexity学校信息检索的“黑箱”终于被打开:基于37所样本校实测的响应延迟、召回率与可信度三维评估报告

更多请点击: https://codechina.net 第一章:Perplexity学校信息检索的“黑箱”终于被打开:基于37所样本校实测的响应延迟、召回率与可信度三维评估报告 实测方法论:三维度穿透式评估框架 我们对全国37所高校(含985/2…...

为什么92.7%的临床研究者用错Perplexity药物检索?——2024年真实审计案例暴露的4个致命盲区

更多请点击: https://intelliparadigm.com 第一章:Perplexity药物信息检索的临床价值与审计背景 在精准医疗快速演进的当下,临床决策对实时、可信、上下文感知的药物信息依赖日益加深。Perplexity作为基于推理增强型大语言模型的信息检索系统…...

EPLAN端子图表修改避坑指南:从占位符到动态区域,手把手教你定制专属端子连接图

EPLAN端子图表深度定制指南:从占位符优化到动态布局实战 在电气工程设计领域,EPLAN作为行业标杆软件,其端子图表功能直接影响项目交付的专业度和效率。许多工程师在项目后期常遇到这样的困境:标准端子图表无法满足客户特殊规范要求…...

深入Keil5编译器:解读#1295-D警告背后的C语言函数原型进化史

深入Keil5编译器:解读#1295-D警告背后的C语言函数原型进化史 当你在Keil5环境下打开一个遗留的单片机项目时,那个看似微不足道的#1295-D: Deprecated declaration警告可能正暗示着一段跨越四十年的编程语言进化史。这个关于函数声明的警告不是Keil5的任…...

保姆级教程:用Docker一键部署RustDesk私有服务器(含Web客户端和API)

零基础构建企业级RustDesk私有化远程控制平台:Docker全栈部署指南 远程协作工具已成为现代工作流中不可或缺的一环,但商业解决方案往往面临价格高昂、数据隐私不可控等问题。RustDesk作为开源远程桌面工具,凭借其跨平台特性和自建服务器能力&…...

免费照片怎样去水印?2026年去水印app优缺点对比与4款工具推荐

在日常生活和内容创作中,我们经常会遇到需要去除照片水印的情况。无论是整理素材库、处理工作资料,还是保存喜欢的图片,一款好用的免费去水印软件可以大大提高效率。2026年市场上的去水印app选择众多,每款工具都有不同的特点和适用…...

嵌入式C语言单元测试实战:Unity框架入门与工程实践

1. 项目概述:为什么嵌入式开发也需要单元测试?在嵌入式开发领域,尤其是使用C语言进行单片机、RTOS或裸机程序开发时,我们常常陷入一种“烧录-看灯-调串口”的循环。代码逻辑稍微复杂一点,比如一个状态机或者一个协议解…...

自动化测试的未来:AI测试会取代人工测试吗

一、AI浪潮下的测试行业变局在软件测试行业的发展历程中,自动化测试的出现曾被视为提升效率的关键转折点,而如今,AI技术的深度介入,正在将这场变革推向新的高度。从AI自动生成测试用例,到智能预测高风险代码模块&#…...

初次接触大模型API的开发者选择Taotoken作为起点的主要考量与体验

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 初次接触大模型API的开发者选择Taotoken作为起点的主要考量与体验 对于初次接触大模型API的开发者而言,面对众多服务商…...

告别阿里云物联网平台:用免费公共MQTT服务器玩转ESP32远程监控

告别商业云平台:用免费公共MQTT服务器实现ESP32远程监控 在物联网项目开发中,远程数据传输是核心需求之一。许多开发者习惯性选择阿里云、腾讯云等商业物联网平台,却常常被复杂的配置流程、高昂的服务费用所困扰。实际上,对于个人…...

STM32与RT-Thread开源4+服务:企业级嵌入式开发效率革命

1. 项目概述:当开源RTOS遇上主流MCU生态最近在跟进一个工业网关项目,主控选型绕不开STM32,操作系统则瞄准了RT-Thread。就在评估过程中,我发现意法半导体(ST)官方发布了一个重磅消息:STM32系列微…...

KRTS实时内核开发环境搭建:手把手教你配置隔离CPU与Visual Studio联调

KRTS实时内核开发环境搭建:手把手教你配置隔离CPU与Visual Studio联调 在工业自动化、机器人控制和高频交易等硬实时应用领域,毫秒级的延迟差异可能导致整个系统失效。KRTS(Kithara RealTime Suite)作为Windows平台上的实时扩展解…...

MHMarkets迈汇:油价回落地缘风险有所缓和

MHMarkets迈汇:油价回落地缘风险有所缓和近期国际原油市场出现明显回吐,布伦特与WTI两大基准油价从前期高位双双滑落,地缘风险溢价随谈判预期升温而部分释放。市场围绕中东局势变化展开高频博弈,多空情绪快速切换。在这一背景下&a…...

工业 DC-DC 标准封装设计探讨 钡特电源 DB2-12D15D 与金升阳 A1215D-2WR3 工业模块电源盘点

在工业控制与嵌入式系统设计中,12V 输入转 15V 输出的 2W 隔离供电方案,是模拟电路、信号调理模块的核心供电选择。伴随国内电子制造技术持续突破,国产直流电源模块在标准化封装、电气性能稳定性上不断贴合行业通用规范,成为推动国…...

飞凌嵌入式i.MX 95xx核心板:高性能边缘计算与安全开发的硬件平台解析

1. 项目概述:一颗新旗舰的落地与嵌入式开发者的新选择最近,NXP(恩智浦)新一代的i.MX 95系列应用处理器正式进入量产阶段,而作为其重要的生态合作伙伴,飞凌嵌入式也同步发布了基于该系列芯片的全新核心板。这…...

Linux离线包缓存自动化巡检实践

Linux离线包缓存自动化巡检实践这是一篇面向中级 Linux 使用者的技术文章,主题聚焦在离线包缓存,重点讨论无外网安装、本地缓存和依赖完整性。在真实生产环境中,离线包缓存相关问题往往不会以单一错误形式出现,而是混杂在日志、权…...

手机号逆向查QQ号:3分钟快速上手完整指南,告别繁琐登录验证!

手机号逆向查QQ号:3分钟快速上手完整指南,告别繁琐登录验证! 【免费下载链接】phone2qq 项目地址: https://gitcode.com/gh_mirrors/ph/phone2qq 你是否曾忘记自己哪个QQ号绑定了某个手机?或者需要批量验证手机号与QQ的关…...

三星固件下载器Bifrost:三分钟掌握跨平台官方固件获取指南

三星固件下载器Bifrost:三分钟掌握跨平台官方固件获取指南 【免费下载链接】Bifrost Cross-platform tool for downloading Samsung mobile device firmware. 项目地址: https://gitcode.com/gh_mirrors/sa/Bifrost 还在为三星设备找不到官方固件而烦恼吗&am…...

【STM32入门教程】将`printf`重定向到USART串口(以USB转串口为例)

【STM32入门教程】将printf重定向到USART串口(以USB转串口为例) 在STM32开发中,printf是一个非常方便的调试工具。但默认情况下,printf会输出到标准输出设备(如屏幕),而在嵌入式系统中&#xff…...

12306智能抢票助手终极指南:5步实现自动化抢票,告别手动刷票烦恼

12306智能抢票助手终极指南:5步实现自动化抢票,告别手动刷票烦恼 【免费下载链接】12306 12306智能刷票,订票 项目地址: https://gitcode.com/gh_mirrors/12/12306 还在为节假日抢不到火车票而烦恼吗?😫 12306智…...

如何在Inkscape中实现专业级光学设计与光线追踪:矢量绘图软件的光学模拟完整指南

如何在Inkscape中实现专业级光学设计与光线追踪:矢量绘图软件的光学模拟完整指南 【免费下载链接】inkscape-raytracing An extension for Inkscape that makes it easier to draw optical diagrams. 项目地址: https://gitcode.com/gh_mirrors/in/inkscape-rayt…...