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

蓝桥杯 省赛 2025python(B组)题目(分析)

目录

第一题

为什么答案是103而不是104? 

第二题

为什么必须按长度排序?

第三题

易错点总结

第四题

逻辑问题:

可能超过时间复杂度的代码示例

1. 暴力枚举所有可能的子串

2. 递归回溯

第五题

1. 暴力枚举法 

2. 优化枚举

3.数学优化(数论 + 前缀和) 

第六题

1. 暴力枚举法(Brute Force) 

2. 动态规划 (O (n²))

第七题

代码 1(使用index()查找目标位置) 

代码 2(直接计算目标位置)

第八题


第一题

P12170 [蓝桥杯 2025 省 Python B] 攻击次数 - 洛谷


题目描述

小蓝正在玩一个游戏,游戏中小蓝要控制自己的三个英雄来攻击一个敌人。敌人初始的血量为 2025。

小蓝的第一个英雄攻击力恒定,每回合攻击 5 的血量。

小蓝的第二个英雄拥有一些技能,奇数回合触发,攻击 15 的血量,偶数回合攻击 2 的血量。

小蓝的第三个英雄拥有一些道具,当回合数除以 3 的余数为 1 时攻击 2 的血量;当回合数除以 3 的余数为 2 时攻击 10 的血量;当回合数除以 3 的余数为 0 时攻击 7 的血量。

游戏从第 1 回合开始。不考虑敌人对小蓝英雄的攻击,敌人的血量也仅受攻击的影响。如果敌人的血量小于等于零,则游戏结束。

请问到第几回合游戏结束?


输入格式

输出格式

这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只需要编写一个程序输出这个整数,输出多余的内容将无法得分。

blood_volume=2025
turns=1while blood_volume>0:blood_volume-=5if turns%2==1:blood_volume-=15elif turns%2==0:blood_volume-=2if turns%3==1:blood_volume-=2elif turns%3==2:blood_volume-=10elif turns%3==0:blood_volume-=7print(turns,blood_volume)
# 如果将turns错误写在前面,那就应该检查一下答案turns+=1

可以看到第102回合敌人血量大于0而第103回合敌人血量小于0,所以正确答案为103。

为什么答案是103而不是104? 

如果将turns错误写在前面,那就应该检查一下答案,发现是从2开始计数

 

第二题

P12171 [蓝桥杯 2025 省 Python B] 最长字符串 - 洛谷


题目描述

小蓝手里有一个单词本,上面记录了一些单词,保存在 words.txt 中,其中每一行包含一个仅有小写英文字母组成的单词。

小蓝想要找到一个最长的优美字符串。

一个长度为 n 的字符串 s=c1​c2​⋯cn​ 是优美字符串,必须满足 s 在单词本中,且满足以下两个条件之一:

  1. n=1;

  2. n>1,且存在一个优美字符串 s′,s′ 的长度为 n−1,s′ 的字符调整顺序后与 c1​c2​⋯cn−1​ 一致。


示例,假设 words.txt 文件中的单词如下:b、bc、cbd、dbca,那么:

  • s1​=b,长度 1,是优美字符串;

  • s2​=bc,s′=b 在单词本中出现过,并且是优美字符串,所以 s2​ 是优美字符串;

  • s3​=cbd,s′=bc 在单词本中出现过,并且是优美字符串,所以 s3​ 是优美字符串;

  • s4​=dbca,s′=cbd 在单词本中出现过,并且是优美字符串,所以 s4​ 是优美字符串;

现在请你帮助小蓝从单词本 words.txt 中找出长度最大的优美字符串,如果存在多个答案,优先使用字典序最小的那一个作为答案。

输入格式

输出格式

这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个字符串,在提交答案时只需要编写一个程序输出这个字符串,输出多余的内容将无法得分。

输入输出样例

附件下载

words.txt(293.46KB)

l1 = l.strip().split("\n")
l1 = list(set(l1))  # 去重
l1.sort(key=len)  # 按长度排序
seen = set()  # 存储排序后的字符串
maxlen = ""for i in l1:if len(i) == 1:seen.add(i)else:prefix_sorted = ''.join(sorted(i[:-1]))if prefix_sorted in seen:current_sorted = ''.join(sorted(i))seen.add(current_sorted)if len(i) > len(maxlen):maxlen = iprint(maxlen)elif len(i) == len(maxlen) and i < maxlen:maxlen = i
print(maxlen)

  1. 长度为1的字符串

    • 直接加入 seen(因为长度为1的字符串一定是优美的)。
  2. 长度>1的字符串

    • prefix_sorted = ''.join(sorted(i[:-1]))
      • 取当前字符串 i 的前缀(去掉最后一个字符)。
      • 对前缀进行排序
    • 检查前缀是否在 seen 中
      • 如果在,说明当前字符串 i 是优美的。
      • current_sorted = ''.join(sorted(i))
        • 对当前字符串 i 进行排序,并加入 seen(用于后续判断)。
    • 更新 maxlen
      • 如果 i 比 maxlen 更长,更新 maxlen
      • 如果长度相同但字典序更小,也更新 maxlen

为什么必须按长度排序?

  • 优美字符串的定义
    • 长度为 1 的字符串一定是优美的。
    • 长度 >1 的字符串,必须其前缀的某种排列已经存在于 l2 或 seen 中
  • 必须先处理短字符串
    • 确保长字符串的前缀已经被处理过,否则无法正确判断。
  • 期望'abc' 是优美字符串(因为 'ab' 是它的前缀,且 'ab' 是优美字符串)。
  • 但如果 'abc' 先被处理
    • 'abc' 的前缀 'ab' 不在 l2 中(因为 'a' 和 'ab' 还没处理),所以 'abc' 不会被识别为优美字符串。

第三题

P12172 [蓝桥杯 2025 省 Python B] LQ 图形 - 洛谷


题目描述

小蓝要为蓝桥画一个图形。由于小蓝的画图能力有限,他准备用大写字母 Q 画一个 L 形状的字符画。他希望 L 的粗细正好是 w 个字符宽,竖的笔划伸出 h 高(因此图形总共 h+w 高),横的笔划伸出 v 宽(因此图形总共 v+w 宽),要求每个笔划方方正正不能有多余内容。


例如,当 w=2,h=3,v=4 时,图形如下所示:

QQ
QQ
QQ
QQQQQQ
QQQQQQ

给定 w,h,v,请帮助小蓝画出这个图形。

w,h,v=map(int,input().split())
for i in range(h):print("Q"*w)
for j in range(w):print("Q"*(v+w))

易错点总结

  1. 字符串表示

    • 必须用引号括起字符'Q',否则Python会将其视为变量
  2. 横笔划宽度计算

    • 容易忘记横笔划需要包含竖笔划的宽度(w)
    • 正确的宽度应该是v + w
  3. 输出顺序

    • 必须先输出竖笔划(h行)
    • 再输出横笔划(w行)
    • 顺序颠倒会导致图形错误
  4. 输入处理

    • map+split
    • 输入必须是三个用空格分隔的整数 

第四题

题目描述

小蓝有一个字符串 s,他特别喜欢由以下三个字符组成的单词:l,q,b,任意顺序都可以,一共有 6 种可能:lqb、lbq、qlb、qbl、blq、bql。

现在他想从 s 中,尽可能切割出多个他喜欢的单词,请问最多能切割出多少个?单词指的是由若干个连续的字符组成的子字符串。


输入格式

输入一行包含一个字符串 s。

输出格式

输出一行包含一个整数表示答案。

s = input().strip()   
count = 0   
i = 0   
n = len(s)   
while i <= n - 3:if {s[i], s[i+1], s[i+2]} == {'l', 'q', 'b'}:count += 1i += 3else:i += 1
print(count)
s=input()
num=0
l=["lqb","lbq","qlb","qbl","blq","bql"]
i=0while i<=len(s)-3:if s[i:i+3] in l:num+=1i+=3else:i+=1
print(num)

逻辑问题

  • 当 i 接近字符串末尾时,i+3 可能超出字符串长度,导致 IndexError
  • 每次匹配成功后,应该跳过这三个字符(即 i += 3),否则会重复计算。


可能超过时间复杂度的代码示例

1. 暴力枚举所有可能的子串

s = input().strip()
valid_words = {"lqb", "lbq", "qlb", "qbl", "blq", "bql"}
max_count = 0def backtrack(start, current_count):global max_countif start >= len(s):max_count = max(max_count, current_count)return# 尝试切割长度为3的子串if start + 3 <= len(s) and s[start:start+3] in valid_words:backtrack(start + 3, current_count + 1)# 不切割,直接跳过当前字符backtrack(start + 1, current_count)backtrack(0, 0)
print(max_count)

2. 递归回溯

s = input().strip()
valid_words = {"lqb", "lbq", "qlb", "qbl", "blq", "bql"}
memo = {}def dp(start):if start >= len(s):return 0if start in memo:return memo[start]max_cuts = 0# 尝试切割当前位置开始的子串if start + 3 <= len(s) and s[start:start+3] in valid_words:max_cuts = 1 + dp(start + 3)# 不切割,继续下一个位置max_cuts = max(max_cuts, dp(start + 1))memo[start] = max_cutsreturn max_cutsprint(dp(0))

暴力枚举法O(2ⁿ)O(n)递归遍历所有可能的切割组合,使用全局变量记录最大切割数
递归回溯法O(n)O(n)带记忆化的递归,避免重复计算,确保每个子问题只求解一次
贪心算法O(n)O(1)线性扫描,遇到有效单词立即切割,直接跳过已使用字符,无需回溯

第五题

设有两个二维向量 A(XA​,YA​),B(XB​,YB​)。给定 L,求 (XA​,YA​),(XB​,YB​) 有多少种不同的取值,使得:

  1. XA​,YA​,XB​,YB​ 均为正整数;

  2. A⋅B≤L,其中 A⋅B 表示 A,B 的内积,即 XA​⋅XB​+YA​⋅YB​。

输入格式

输入的第一行包含一个正整数 L,表示题目描述中的限制条件。

输出格式

输出一行包含一个整数表示答案。

1. 暴力枚举法 

L = int(input())
count = 0
for xa in range(1, L + 1):for ya in range(1, L + 1):for xb in range(1, L + 1):for yb in range(1, L + 1):if xa * xb + ya * yb <= L:count += 1
print(count)

2. 优化枚举

L = int(input())
count = 0
for xa in range(1, L + 1):for ya in range(1, L + 1):# 对于固定的 xa、ya,求满足 xb*xa + yb*ya <= L 的 (xb, yb) 正整数对数量max_sum = Lfor xb in range(1, L + 1):# 计算当前 xb 下,yb 满足 ya*yb <= max_sum - xa*xbremain = max_sum - xa * xbif remain <= 0:break# yb 至少为 1,最多为 remain // ya max_yb = remain // yaif max_yb >= 1:count += max_yb
print(count)

3.数学优化(数论 + 前缀和) 

L = int(input())
ans = 0
a = [0] * (L + 1)  # a[s] 表示 s 的约数个数(即 YA*YB=s 的对数)
b = [0] * (L + 1)  # b[t] 表示前缀和 sum_{k=1}^t a[k](即 XA*XB≤t 的对数)# 步骤1:计算每个数的约数个数(O(L log L))
for i in range(1, L + 1):for j in range(i, L + 1, i):a[j] += 1  # 约数个数计数器 +1# 步骤2:计算约数个数的前缀和(O(L))
for i in range(1, L + 1):b[i] = b[i-1] + a[i]  # 前缀和数组# 步骤3:统计答案(O(L))
for i in range(1, L + 1):ans += a[i] * b[L-i]  # 统计答案
print(ans)

步骤1:计算约数个数

  • 使用类似筛法的方式,遍历每个数 i 的倍数 j,统计 j 的约数个数。时间复杂度为 O(L log L)

步骤2:计算前缀和

  • 计算 a 数组的前缀和 b,使得 b[t] 表示 sum_{k=1}^t a[k]。时间复杂度为 O(L)

步骤3:统计答案

  • 对于每个 ia[i] 是 YA * YB = i 的对数,b[L - i] 是 XA * XB ≤ L - i 的对数。将两者相乘并累加得到最终答案。时间复杂度为 O(L)

第六题

P12175 [蓝桥杯 2025 省 Python B] 园艺 - 洛谷


小蓝从左到右种了 n 棵小树,第 i 棵树的高度为 hi​,相邻树的间隔相同。小蓝想挪走一些树使得剩下的树等间隔分布,且从左到右高度逐渐上升(相邻两棵树高度满足右边的比左边的高),小蓝想知道最多能留下多少棵树。


输入格式

输入的第一行包含一个正整数 n。

第二行包含 n 个正整数 h1​,h2​,⋯,hn​,相邻整数之间使用一个空格分隔。

输出格式

输出一行包含一个整数表示答案。

1. 暴力枚举法(Brute Force) 

  • 枚举所有可能的起点 i 和间隔 d,从起点开始按固定间隔 d 遍历数组,统计满足严格递增条件的最长子序列长度。
  • 关键逻辑:对于每个 i 和 d,逐个检查后续元素是否递增,若不满足则终止当前检查。
n = int(input())
h = list(map(int, input().split()))
if n == 0:print(0)max_len = 1  # 至少保留1棵树for i in range(n):for d in range(1, n):  # 间隔d从1到n-1(至少间隔1个位置)current_pos = icurrent_len = 1  # 初始包含起点prev_height = h[current_pos]next_pos = current_pos + dwhile next_pos < n:if h[next_pos] > prev_height:current_len += 1prev_height = h[next_pos]current_pos = next_posnext_pos = current_pos + delse:break  # 不满足递增,提前终止# 即使循环提前终止,current_len至少为1(起点),但有效子序列需至少2个元素if current_len >= 2:  # 确保子序列长度≥2if current_len > max_len:max_len = current_lenprint(max_len)

2. 动态规划 (O (n²))

思路:用 dp[i][d] 表示以第 i 棵树结尾、间隔为 d 的最长序列长度。

n = int(input())
a = list(map(int, input().split()))
dp = [[1] * (n + 1) for i in range(n)]for i in range(n):for j in range(i):if a[i] > a[j]:   # 满足高度递增d = i - j     # d为两树之间间隔dp[i][d] = max(dp[i][d], dp[j][d] + 1)ans = 0
for row in dp:if max(row) > ans:   # 找最大值ans = max(row)   
print(ans)

第七题

P12176 [蓝桥杯 2025 省 Python B] 书架还原 - 洛谷


题目描述

在一个偏远的图书馆里,有个书架上放着 n 本书,每本书上都标有一个从 1 到 n 的唯一编号。

按照规矩,这些书应该按编号从小到大依次排列:1 号书位于最左端,2 号书紧随其后,以此类推,直到 n 号书在最右端。这样的顺序不仅看起来整齐,也方便读者快速找到想借的书。

可昨天店里人来人往,借书还书忙得不可开交,书架上的顺序出现了错乱。现在,书架上的书变成了 a=(a1​,a2​,…,an​),其中 ai​ 表示第 i 个位置上的书编号。

管理员决定动手整理书架,但时间有限,他希望用最少的操作把书的顺序恢复到正确的排列。每次操作,他可以挑选书架上任意两本书,交换它们的位置。例如,如果当前排列是 (3,1,2),他可以交换第 1 本和第 2 本,得到 (1,3,2),再交换第 2 本和第 3 本,得到 (1,2,3)。

你的任务是帮助管理员计算,最少需要进行多少次操作,才能让书架上的书的编号排列变为 (1,2,…,n)。


代码 1(使用index()查找目标位置) 

  1. 遍历每个位置i:检查当前位置的元素是否等于i+1(即是否在正确位置)。
  2. 查找目标位置:若不在正确位置,使用index()方法找到值为i+1的元素的当前位置j
  3. 交换元素:将位置ij的元素交换,使i位置的元素归位。
  4. 重复循环:直到当前位置i的元素正确。
n = int(input())
a = list(map(int, input().split()))
count = 0for i in range(n):while a[i] != i + 1:# 找到正确位置的书的当前索引j = a.index(i + 1)a[i], a[j] = a[j], a[i]count += 1print(count)

代码 2(直接计算目标位置)

  1. 遍历每个位置i:检查当前位置的元素是否满足nums[i] == i+1
  2. 计算目标位置:若不满足,直接计算当前元素nums[i]应该在的位置ans-1(即nums[i]-1)。
  3. 交换元素:将当前位置i的元素与目标位置ans-1的元素交换。
  4. 重复循环:直到当前位置i的元素正确。
n = int(input())
nums = list(map(int, input().split()))
count = 0for i in range(n):while i != nums[i] - 1:ans = nums[i]  # 当前元素的值nums[i] = nums[ans - 1]  # 将目标位置的元素放到i位置nums[ans - 1] = ans      # 当前元素放到目标位置count += 1print(count)
代码 1(index()代码 2(直接计算)
使用index()查找目标位置直接通过值计算目标位置
时间复杂度 O (n²)时间复杂度 O (n)

第八题

P12177 [蓝桥杯 2025 省 Python B] 异或和 - 洛谷

  • 对于每对数 (nums[i], nums[j]),计算它们的异或值 nums[i] ^ nums[j]
n = int(input())
nums = list(map(int, input().split()))
ans = 0for i in range(n):for j in range(i+1, n):x = j - i  # 计算下标差ans += (nums[i] ^ nums[j]) * x  # 异或结果乘以坐标差,累加到答案中
print(ans)

如果只想拿“省一”的话,考试时候写能写对这样的暴力算法就很“厉害”了🤧。 

相关文章:

蓝桥杯 省赛 2025python(B组)题目(分析)

目录 第一题 为什么答案是103而不是104&#xff1f; 第二题 为什么必须按长度排序&#xff1f; 第三题 易错点总结 第四题 逻辑问题&#xff1a; 可能超过时间复杂度的代码示例 1. 暴力枚举所有可能的子串 2. 递归回溯 第五题 1. 暴力枚举法 2. 优化枚举 3.数…...

React - 组件通信

组件通信 概念&#xff1a;组件通信就是组件之间数据传递&#xff0c;根据组件嵌套关系不同&#xff0c;有不同的通信方法 父传子 —— 基础实现 实现步骤 父组件传递数据 - 在子组件标签上绑定属性子组件接收数据 - 子组件通过props参数接收数据 声明子组件并使用 //声明子…...

《前端面试题:CSS的display属性》

CSS display属性完全指南&#xff1a;深入理解布局核心属性 掌握display属性是CSS布局的基石&#xff0c;也是前端面试必考知识点 一、display属性概述&#xff1a;布局的核心控制 display属性是CSS中最重要、最基础的属性之一&#xff0c;它决定了元素在页面上的渲染方式和布…...

飞牛使用Docker部署Tailscale 内网穿透教程

之前发过使用docker部署Tailscale的教程&#xff0c;不过是一年前的事情了&#xff0c;今天再重新发表一遍&#xff0c;这次使用compose部署更加方便&#xff0c;教程也会更加详细一点&#xff0c;希望对有需要的朋友有所帮助&#xff01; 对于大部分用户来说&#xff0c;白嫖 …...

《数据挖掘》- 房价数据分析

这里写目录标题 采用的技术1. Python编程语言2. 网络爬虫库技术点对比与区别项目技术栈的协同工作流程 代码解析1. 导入头文件2. 读取原始数据3. 清洗数据4. 数据分割4.1 统计房屋信息的分段数量4.2 将房屋信息拆分为独立列4.3 处理面积字段4.4 删除原始房屋信息列 5. 可视化分…...

centos中的ulimit命令

centos中的ulimit命令 ulimit的作用CENTOS系统文件配置配置文件地址配置格式 配置方法 ulimit的作用 ulimit用于限制shell启动进程所占用的资源&#xff0c;支持以下各种类型的限制&#xff1a;所创建的内核文件的大小、进程数据块的大小、Shell进程创建文件的大小、内存锁住的…...

git提交代码和解决冲突修复bug

提交到分支的步骤如下&#xff1a; 确保你当前在开发分支上&#xff0c;可以使用命令 git branch 来查看当前所在分支&#xff0c;并使用 git checkout 命令切换到开发分支。使用 git add 命令将修改的文件添加到暂存区。使用 git commit 命令提交代码到本地仓库。 解决合并冲…...

华为仓颉语言初识:并发编程之同步机制(上)

前言 线程同步机制是多线程下解决线程对共享资源竞争的主要方式&#xff0c;华为仓颉语言提供了三种常见的同步机制用来保证线程同步安全&#xff0c;分别是原子操作&#xff0c;互斥锁和条件变量。本篇文章详细介绍主要仓颉语言解决同步机制的方法&#xff0c;建议点赞收藏&a…...

php中实现邮件发送功能

要在php项目中实现邮件发送功能&#xff0c;推荐使用phpmailer库通过smtp协议配置。首先安装phpmailer扩展&#xff0c;可通过composer命令composer require phpmailer/phpmailer安装&#xff1b;若未使用composer则手动引入源码。接着配置smtp信息&#xff0c;包括服务器地址&…...

C++之动态数组vector

Vector 一、什么是 std::vector&#xff1f;二、std::vector 的基本特性&#xff08;一&#xff09;动态扩展&#xff08;二&#xff09;随机访问&#xff08;三&#xff09;内存管理 三、std::vector 的基本操作&#xff08;一&#xff09;定义和初始化&#xff08;二&#xf…...

arc3.2语言sort的时候报错:(sort < `(2 9 3 7 5 1)) 需要写成这种:(sort > (pair (list 3 2)))

arc语言sort的时候报错&#xff1a;(sort < (2 9 3 7 5 1)) arc> (sort < (2 9 3 7 5 1)) Error: "set-car!: expected argument of type <pair>; given: 9609216" arc> (sort < (2 9 3 )) Error: "Function call on inappropriate object…...

Android动态广播注册收发原理

一、动态广播的注册流程 1. ​​注册方式​​ 动态广播通过代码调用 Context.registerReceiver() 方法实现&#xff0c;需显式指定 IntentFilter 和接收器实例&#xff1a; // 示例&#xff1a;在 Activity 中注册监听网络变化的广播 IntentFilter filter new IntentFilter…...

Ubuntu 系统通过防火墙管控 Docker 容器

Ubuntu 系统通过防火墙管控 Docker 容器指南 一、基础防火墙配置 # 启用防火墙 sudo ufw enable# 允许 SSH 连接&#xff08;防止配置过程中断联&#xff09; sudo ufw allow 22/tcp二、Docker 配置调整 # 编辑 Docker 配置文件 sudo vim /etc/docker/daemon.json配置文件内…...

AI 模型分类全解:特性与选择指南

人工智能&#xff08;AI&#xff09;技术正以前所未有的速度改变着我们的生活和工作方式。AI 模型作为实现人工智能的核心组件&#xff0c;种类繁多&#xff0c;功能各异。从简单的线性回归模型到复杂的深度学习网络&#xff0c;从文本生成到图像识别&#xff0c;AI 模型的应用…...

【Zephyr 系列 11】使用 NVS 实现 BLE 参数持久化:掉电不丢配置,开机自动加载

🧠关键词:Zephyr、NVS、非易失存储、掉电保持、Flash、AT命令保存、配置管理 📌目标读者:希望在 BLE 模块中实现掉电不丢配置、支持产测参数注入与自动加载功能的开发者 📊文章长度:约 5200 字 🔍 为什么要使用 NVS? 在实际产品中,我们经常面临以下场景: 用户或…...

【Android】Android Studio项目代码异常错乱问题处理(2020.3版本)

问题 项目打开之后&#xff0c;发现项目文件直接乱码&#xff0c; 这样子的 这本来是个Java文件&#xff0c;结果一打开变成了这种情况&#xff0c;跟见鬼一样&#xff0c;而且还不是这一个文件这样&#xff0c;基本上一个项目里面一大半都是这样的问题。 处理方法 此时遇到…...

n皇后问题的 C++ 回溯算法教学攻略

一、问题描述 n皇后问题是经典的回溯算法问题。给定一个 nn 的棋盘&#xff0c;要求在棋盘上放置 n 个皇后&#xff0c;使得任何两个皇后之间不能互相攻击。皇后可以攻击同一行、同一列以及同一对角线上的棋子。我们需要找出所有的合法放置方案并输出方案数。 二、输入输出形…...

一些免费的大A数据接口库

文章目录 一、Python开源库&#xff08;适合开发者&#xff09;1. AkShare2. Tushare3. Baostock 二、公开API接口&#xff08;适合快速调用&#xff09;1. 新浪财经API2. 腾讯证券接口3. 雅虎财经API 三、第三方数据平台&#xff08;含免费额度&#xff09;1. 必盈数据2. 聚合…...

DeepSeek本地部署及WebUI可视化教程

前言 DeepSeek是近年来备受关注的大模型之一,支持多种推理和微调场景。很多开发者希望在本地部署DeepSeek模型,并通过WebUI进行可视化交互。本文将详细介绍如何在本地环境下部署DeepSeek,并实现WebUI可视化,包括Ollama和CherryStudio的使用方法。 一、环境准备 1. 硬件要…...

机器学习算法时间复杂度解析:为什么它如此重要?

时间复杂度的重要性 虽然scikit-learn等库让机器学习算法的实现变得异常简单&#xff08;通常只需2-3行代码&#xff09;&#xff0c;但这种便利性往往导致使用者忽视两个关键方面&#xff1a; 算法核心原理的理解缺失 忽视算法的数据适用条件 典型算法的时间复杂度陷阱 SV…...

SSIM、PSNR、LPIPS、MUSIQ、NRQM、NIQE 六个图像质量评估指标

评价指标 1. SSIM&#xff08;Structural Similarity Index&#xff09; &#x1f4cc; 定义 结构相似性指数&#xff08;Structural Similarality Index&#xff09;是一种衡量两幅图像相似性的指标&#xff0c;考虑了亮度、对比度和结构信息的相似性&#xff0c;比传统的 P…...

【笔记】旧版MSYS2 环境中 Rust 升级问题及解决过程

下面是一份针对在旧版 MSYS2&#xff08;安装在 D 盘&#xff09;中&#xff0c;基于 Python 3.11 的 Poetry 虚拟环境下升级 Rust 的处理过程笔记&#xff08;适用于 WIN 系统 SUNA 人工智能代理开源项目部署要求&#xff09;的记录。 MSYS2 旧版环境中 Rust 升级问题及解决过…...

centos查看开启关闭防火墙状态

执行&#xff1a;systemctl status firewalld &#xff0c;即可查看防火墙状态 防火墙的开启、关闭、禁用命令 &#xff08;1&#xff09;设置开机启用防火墙&#xff1a;systemctl enable firewalld.service &#xff08;2&#xff09;设置开机禁用防火墙&#xff1a;system…...

[论文阅读] 人工智能 | 大语言模型计划生成的新范式:基于过程挖掘的技能学习

#论文阅读# 大语言模型计划生成的新范式&#xff1a;基于过程挖掘的技能学习 论文信息 Skill Learning Using Process Mining for Large Language Model Plan Generation Andrei Cosmin Redis, Mohammadreza Fani Sani, Bahram Zarrin, Andrea Burattin Cite as: arXiv:2410.…...

MS31912TEA 多通道半桥驱动器 氛围灯 照明灯 示宽灯 转向灯驱动 后视镜方向调节 可替代DRV8912

MS31912TEA 多通道半桥驱动器 氛围灯 照明灯 示宽灯 转向灯驱动 后视镜方向调节 可替代DRV8912 产品简述 MS31912 是集成多种高级诊断功能的多通道半桥驱动。 MS31912 具有 12 个半桥&#xff0c;典型工作电压 13.5V 下&#xff0c;每一个半桥支持 1A 电流&#xff0c;典型工…...

软考 系统架构设计师系列知识点之杂项集萃(84)

接前一篇文章&#xff1a;软考 系统架构设计师系列知识点之杂项集萃&#xff08;83&#xff09; 第151题 在软件系统工具中&#xff0c;版本控制工具属于&#xff08;&#xff09;&#xff0c;软件评价工具属于&#xff08;&#xff09;。 第1空 A. 软件开发工具 B. 软件维…...

矩阵QR分解

1 orthonormal 向量与 Orthogonal 矩阵 orthonormal 向量定义为 &#xff0c;任意向量 相互垂直&#xff0c;且模长为1&#xff1b; 如果将 orthonormal 向量按列组织成矩阵&#xff0c;矩阵为 Orthogonal 矩阵&#xff0c;满足如下性质&#xff1a; &#xff1b; 当为方阵时&…...

UDP与TCP的区别是什么?

UDP和TCP是互联网通信中最常用的两种传输层协议&#xff0c;它们在数据传输方式、可靠性、速度和适用场景等方面存在显著差异。本文将围绕UDP与TCP的核心区别展开详细分析&#xff0c;包括连接方式、数据传输机制、传输效率以及各自适合的应用场景&#xff0c;帮助开发者和网络…...

撰写脚本,通过发布/joint_states话题改变机器人在Rviz中的关节角度

撰写脚本&#xff0c;通过发布/joint_states话题改变机器人在Rviz中的关节角度 提问 为我写一个改变关节base_spherical_center_high_joint角度的python脚本吧。适用于ROS2的humble 回答 下面是一个适用于 ROS 2 Humble 的 Python 脚本&#xff0c;它会以指定频率持续发布 …...

AOP实现Restful接口操作日志入表方案

文章目录 前言一、基础资源配置1.操作日志基本表[base_operation_log] 见附录1。2.操作日志扩展表[base_operation_log_ext] 见附录2。3.定义接口操作系统日志DTO&#xff1a;OptLogDTO4.定义操作日志注解类WebLog5.定义操作日志Aspect切面类SysLogAspect6.定义异步监听日志事件…...