第16届蓝桥杯模拟赛3 python组个人题解

第16届蓝桥杯模拟赛3 python组

思路和答案不保证正确

1.填空

如果一个数 p 是个质数,同时又是整数 a 的约数,则 p 称为 a 的一个质因数。

请问, 2024 的最大的质因数是多少?

因为是填空题,所以直接枚举2023~2 ,第一个即是质数也是2024的因数的数就是答案。

def isprime(x):for i in range(2,int(x ** 0.5)+1):if(x % i == 0):return Falsereturn True
for i in range(2023,1,-1):if(2024 % i == 0 and isprime(i)):print(i)
# 23
# 11
# 2

2.填空

对于两个整数 a, b,既是 a 的整数倍又是 b 的整数倍的数称为 a 和 b 的公倍数。公倍数中最小的正整数称为 a 和 b 的最小公倍数。

请问, 2024 和 1024 的最小公倍数是多少?

经典求lcm: l c m ( a , b ) = a ∗ b g c d ( a ∗ b ) lcm(a,b) = \frac{a * b}{ gcd(a* b)} lcm(a,b)=gcd(ab)ab

def gcd(x,y):if(y == 0): return xreturn gcd(y,x % y)
def lcm(x,y):return x * y // gcd(x,y)
print(lcm(2024,1024))
## 259072

(python3.9版本以后的math库中含有lcm函数可以直接调用)

import math
print(math.lcm(2024,1024))
## 259072

3.填空

如果一个数 p 是个质数,同时又是整数 a 的约数,则 p 称为 a 的一个质因数。

请问, 2024 的所有质因数的和是多少?

第一个填空使用的代码已经计算出了2024的质因数为:23,11,8,4,2 ,加到一起就可以了

def isprime(x):for i in range(2,int(x ** 0.5)+1):if(x % i == 0):return Falsereturn True
s = 0
for i in range(2023,1,-1):if(2024 % i == 0 and isprime(i)):s = s + i
print(s)
## 36

4.填空

请问,在不超过 2024 的数中,最大的质数是多少?

枚举2023~2,找到第一个质数

def isprime(x):for i in range(2,int(x ** 0.5)+1):if(x % i == 0):return Falsereturn True
s = 0
for i in range(2023,1,-1):if(isprime(i)):print(i)break
## 2017

5.填空

如果两个整数 a, b 除了 1 以外,没有其它的公约数,则称整数 a 与 b 互质。

请问,与 2024 互质的数中(包括1),第 2024 小的数是多少?

while循环从1开始找满足 g c d ( x , 2024 ) = = 1 gcd(x,2024) == 1 gcd(x,2024)==1 的数,找第2024个

def gcd(x,y):if(y == 0): return xreturn gcd(y,x % y)
cnt = 0
p = 0
while(cnt < 2024):p += 1if(gcd(p,2024) == 1):cnt += 1
print(p)
## 4655

6.填空

对于字符串 S=ANQNANBNQNANQNQNBNINQNQNANQNINANQNANBNQNANQNQNBNBNQNQNANQNINANQNANBNQNANQNQNBNINQNQNANQNINBNQNANBNQN ,请找到 S 的一个长度不超过 10 的子串 A,使得(A的长度)乘以(A在S中出现的次数)最大。

请问这个子串是什么?(如果有多个满足条件的,请回答字典序最小的)。

字符串不长,直接枚举所有长度不超过10的子串,然后将他们的出现次数记录在字典中,然后在字典中找答案就好

s = "ANQNANBNQNANQNQNBNINQNQNANQNINANQNANBNQNANQNQNBNBNQNQNANQNINANQNANBNQNANQNQNBNINQNQNANQNINBNQNANBNQN"
dic = {}
for length in range(1,11):for i in range(0,len(s) - length):dic[s[i:i+length]] = dic.get(s[i:i+length],0) + 1
ansstr = ""
ansnum = 0
for s,cnt in dic.items():num = cnt * len(s)if(num > ansnum) or (num == ansnum and s < ansstr):ansstr = sansnum = num
print(ansstr)
# NQN

7.填空

如果一个字符串中只包含字符 0 和字符 1,则称为一个 01 串(包含全为 0 的串和全为 1 的串)。

请问有多少个长度为 24 的 01 串,满足任意 5 个连续的位置中不超过 3 个位置的值为 1 。

长度为24的01串总共有 2 24 2^{24} 224 个,大约 1.7 ∗ 1 0 7 1.7*10^7 1.7107 , 可以花点时间暴力枚举所有的字符串(反正是填空题)

import time
def check(x):lst = []for i in range(0,24):if(x & ( 1 << i)):lst.append(i)if(len(lst)<=2):return Truefor i in range(len(lst)-2):if(lst[i+2] - lst[i]<= 4):return Falsereturn True
ans = 0
tik = time.time()
for x in range(1<<24):# 这些01串可以用0~(2**24-1)的二进制数表示if(check(x)):ans += 1
tok = time.time()
print(tok-tik) # 花了25.859452724456787秒运行程序
print(ans) # 最终答案是162165

也可以使用dfs来解决本题:

import time
lis = [] # 存储当前数的1的位置
ans = 0
def dfs(step):global ansif(step == 25):ans += 1return if(len(lis) < 2 or step - lis[-2] > 4):lis.append(step) # 选1dfs(step + 1) lis.pop() # 还原现场dfs(step + 1) # 选0
tic = time.time()
dfs(1)
tok = time.time()
print(tok - tic)# 花了0.04025077819824219秒运行程序
print(ans) # 最终答案是162165

8. 玉米地

题意

【问题描述】

小蓝种了一块玉米地,玉米地长 n 米,宽 m 米,每平方米产玉米 a 千克。请问小蓝的玉米地一共能产多少千克玉米?

【输入格式】

输入三行。第一行包含一个正整数 n ,第二行包含一个正整数 m ,第三行包含一个正整数 a 。

【输出格式】

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

【样例输入】

20
24
900

【样例输出】

432000

【评测用例规模与约定】

对于所有评测用例,1 <= n <= 1000, 1 <= m <= 1000, 1 <= a <= 2000。

思路

直接输出 n ∗ m ∗ a n*m*a nma

n = int(input())
m = int(input())
a = int(input())
print(n * m * a)

9.再创新高

题意

###【问题描述】

小蓝有一个数组 a[1], a[2], …, a[n], 一个“再创新高”的位置是指一个位置 p ,a[p] 的值比之前每个位置的值都大。

请求出小蓝的数组中有多少个再创新高的位置。

【输入格式】

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

第二行包含 n 个整数,相邻数之间使用一个空格分隔,依次表示 a[1], a[2], …, a[n] 。

【输出格式】

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

【样例输入】

8
1 2 3 4 5 6 6 6

【样例输出】

6

【样例输入】

9
3 2 1 6 5 4 9 8 7

【样例输出】

3

【评测用例规模与约定】

对于 30% 的评测用例,1 <= n <= 100,0 <= a[i] <= 1000。

对于 60% 的评测用例,1 <= n <= 1000,0 <= a[i] <= 1000。

对于所有评测用例,1 <= n <= 10000,0 <= a[i] <= 1000000。

思路

枚举数组,不断记录max值,每当max更新就让答案加一

n = int(input())
lst = list(map(int,input().split()))
mx = -1
ans = 0
for x in lst:if(x > mx):ans += 1mx = x
print(ans)

10.四个字符串拼接

题意

【问题描述】

给定四个字符串 a, b, c, d,请将这四个字符串按照任意顺序依次连接拼成一个字符串。

请问拼成的字符串字典序最小是多少?

【输入格式】

输入四行,每行包含一个字符串。

【输出格式】

输出一行包含一个字符串,表示答案。

【样例输入】

LAN
LAN
QIAO
BEI

【样例输出】

BEILANLANQIAO

【评测用例规模与约定】

对于所有评测用例,输入的字符串非空串,由大写字母组成,长度不超过 1000 。

思路

四个字符串拼接只有 A 4 4 A_4^4 A44 种可能,直接枚举所有可能的情况,找到最小的字符串即可。

将四个字符串装入一个列表中,然后使用itertools库中的permutations函数来生成所有可能的排列

import itertools
lst = []
for i in range(4):s = input()lst.append(s)
per = itertools.permutations(lst) # 生成一个包含所有排列情况的可迭代对象
ans = "".join(lst) # 拼接列表中的字符串
for i in per:ans = min(ans,"".join(i))
print(ans)

更好的解法

如果字符串数量增多,全排列的数量会大大增长导致我们无法枚举所有的可能。我们可以考虑直接找到最优的字符串。

我们假设字符串目前拼接顺序如下S1,a,b,S2 ,其中a,b 是单元字符串,而S1,S2则分别表示其他字符串拼接后的串。现在我们考虑交换ab的位置能否使得整个字符串的字典序更小:

显而易见当a+b<b+a时,a在前时字典序更小,b+a<a+b 时交换a和b的位置能够使得最终的字符串字典序更小。 (此处的+ 表示字符串的拼接,> , < 表示字典序比较)

于是我们按照上述的比较规则对这个字符串数组进行排序,最终的顺序就是答案

from functools import cmp_to_key
lst = []
for i in range(4):s = input()lst.append(s)
def cmp(s1,s2): # 比较函数if(s1+s2 < s2+s1):return -1 # -1表示不需要交换位置elif(s1+s2 > s2+s1):return 1 # 1表示需要交换位置else :return 0
lst.sort(key = cmp_to_key(cmp))
print("".join(lst))

11.领取礼物

题意

【问题描述】

蓝桥村正在给村民们发放礼物。礼物通过一个礼物发放机完成。

村民们在机器前排着队领取礼物。

每个礼物有一个价值 v[i] ,有的高,有的低。每位村民有自己对于礼物的期望值 e[i] 。

礼物发放机每次会显示一个礼物,如果礼物的价值大于等于村民的期望值,村民就会高兴地把礼物拿走,并离开礼物发放机。如果礼物的价值比村民的期望值低,村民会让这个礼物取消,并让礼物发放机显示下一个礼物,并重新检查是否满足期望。村民会重复让礼物发放机显示下⼀个礼物,直到礼物发放机没有更多可以显示的礼物或礼物的价值大于等于自己的期望值。

如果礼物发放机中的所有礼物都显示完了,那么还没领到礼物的村民就无法领取礼物了。

如果所有的村民都领到了礼物,而礼物发放机还有礼物显示,村民们也不会再领取礼物。

现在,小蓝知道了每位村民的期望值,也知道了礼物发放机上礼物的显示顺序,请问总共有多少村民拿到了礼物?

【输入格式】

输入的第一行包含一个整数 n ,表示村民的个数。

第二行包含 n 个整数,相邻数之间使用一个空格分隔,依次表示排队的每位村民的期望值 e[i] 。

第三行包含一个整数 m ,表示礼物发放机会显示的礼物个数。

第四行包含 m 个整数,相邻数之间使用一个空格分隔,依次表示礼物发放机显示的礼物的价值 v[i] 。

【输出格式】

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

【样例输入】

6
6 5 5 3 6 0
9
9 9 8 2 4 4 3 5 3

【样例输出】

4

【样例说明】

前 4 位村民依次取到了第 1, 2, 3, 5 件礼物。后面的礼物未能满足第 5 位村民。

【评测用例规模与约定】

对于 30% 的评测用例,1 <= n, m <= 20 , 0 <= e[i], v[i] <= 100 。

对于 60% 的评测用例,1 <= n, m <= 300 , 0 <= e[i], v[i] <= 10000 。

对于所有评测用例,1 <= n, m <= 10000 , 0 <= e[i], v[i] <= 1000000 。

思路

模拟礼物分发的过程即可

使用for循环按顺序枚举每个村民,对于每个村民使用while循环来查找符合的礼物。

当所有村民都领到礼物,或者所有的礼物都分发完就结束循环

n = int(input())
villager = list(map(int,input().split()))
m = int(input())
gift = list(map(int,input().split()))
p = 0 # 现在分发到哪个礼物了
ans = 0
for x in villager:while(p < len(gift) and gift[p] < x):p += 1if(p == len(gift)):# 如果所有礼物都发完了breakans += 1 # 有合适的礼物给他p += 1
print(ans)

12. 十字矩阵

题意

【问题描述】

小蓝有一个 n 行 m 列的矩阵 a [ i ] [ j ] a[i][j] a[i][j],他想着矩阵中找出一个“十”字形状的区域,使得区域内的值的和最大。

一个“十”字形状的区域可以由两个行号 r 1 r1 r1 r 2 r2 r2 和两个列号 c 1 c1 c1 c 2 c2 c2 表示。“十”字的区域内包括第 r 1 r1 r1 行到 r 2 r2 r2 行的所有元素,以及第 c 1 c1 c1 列到 c 2 c2 c2 列的所有元素,既不在这几行也不在这几列的元素不在区域内。

为了保证是一个“十”字的形状,必须满足 1 < r 1 < = r 2 < n , 1 < c 1 < = c 2 < m 1 < r1 <= r2 < n,1 < c1 <= c2 < m 1<r1<=r2<n1<c1<=c2<m

【输入格式】

输入的第一行包含两个整数 $n, m $,分别表示行数和列数。

接下来 n n n 行,每行包含 m m m整数,相邻数之间使用一个空格分隔,依次表示矩阵的每行每列的值,本部分的第 i i i 行第 j j j 列表示 a [ i ] [ j ] a[i][j] a[i][j]

【输出格式】

输出一行包含一个整数,表示最大的和。

【样例输入】

5 6
1 -1 2 -2 3 -3
-1 2 -2 3 -3 4
2 -2 3 -3 4 -4
-2 3 -3 4 -4 5
3 -3 4 -4 5 -5

【样例输出】

14

【样例说明】

有两种方法可以得到最大的和。第一种是取 r 1 = 2 , r 2 = 4 , c 1 = 3 , c 2 = 5 r1=2, r2=4, c1=3, c2=5 r1=2,r2=4,c1=3,c2=5,第二种是取$ r1=2, r2=4, c1=5, c2=5 $。

【评测用例规模与约定】

对于 30% 的评测用例, 3 < = n , m < = 30 , − 1000 < = a [ i ] [ j ] < = 1000 3 <= n, m <= 30 ,-1000 <= a[i][j] <= 1000 3<=n,m<=301000<=a[i][j]<=1000

对于 60% 的评测用例, 3 < = n , m < = 100 , − 1000 < = a [ i ] [ j ] < = 1000 3 <= n, m <= 100 ,-1000 <= a[i][j] <= 1000 3<=n,m<=1001000<=a[i][j]<=1000

对于所有评测用例,$3 <= n <= 100, 3 <= m <= 5000 ,-1000 <= a[i][j] <= 1000 $。

思路

部分分

本题难度明显高于其他题目,可以考虑拿部分分:

暴力枚举所有十字的可能情况,然后使用二维前缀和来计算这个十字中所有数的加和。时间复杂度( O ( n 2 m 2 ) O(n^2m^2) O(n2m2)

n,m = list(map(int,input().split()))
matrix = []
matrix.append([0] * (m+1))
# 让matrix的有效数据从下标1开始,便于进行前缀和计算
for i in range(n):lst = [0]lst = lst + list(map(int,input().split()))matrix.append(lst)
# 求二维前缀和
for i in range(1,n+1):for j in range(1,m+1):matrix[i][j] = matrix[i][j] + matrix[i-1][j] + matrix[i][j-1] - matrix[i-1][j-1]
ans = -1e9
for r1 in range(2,n): ## 枚举十字for r2 in range(r1,n):for c1 in range(2,m):for c2 in range(c1,m):## 计算十字的数字总和sm = 0sm += matrix[r2][m] - matrix[r1-1][m] # 十字的横sm += matrix[n][c2] - matrix[n][c1-1] # 十字的竖sm -= matrix[r2][c2] - matrix[r1-1][c2] - matrix[r2][c1-1] + matrix[r1-1][c1-1]# 减去重叠部分ans = max(ans,sm)
print(ans)

满分

观察满分的数据范围,发现n没有变大, 只有m变大了。

我们可以枚举 r 1 , r 2 r1,r2 r1,r2 的取值,当 r 1 , r 2 r1,r2 r1,r2 确定后, 本题就变为了“在一个一维数组中找和最大的子数组”问题。

这个子问题的复杂度是 O ( m ) O(m) O(m) 的,于是我们的总的复杂度就降到了 O ( n 2 m ) O(n^2m) O(n2m)


如何用 O ( n ) O(n) O(n)算法求解一维数组的最大子数组和?

例题:最大子数组和(leetcode)

对数组进行前缀和 s u m sum sum,那么子数组lst[l~r]sum[r] - sum[l-1] ,显而易见当r确定后, 最小的 s u m [ l − 1 ] sum[l-1] sum[l1] 能产生最大的 sum[r] - sum[l-1], 于是我们可以枚举右端点r, 左端点 l l l通过记录最小值得出。

n,m = list(map(int,input().split()))
matrix = []
matrix.append([0] * (m+1))
# 让matrix的有效数据从下标1开始,便于进行前缀和计算
for i in range(n):lst = [0]lst = lst + list(map(int,input().split()))matrix.append(lst)
pre = matrix.copy()
# 求二维前缀和
for i in range(1,n+1):for j in range(1,m+1):pre[i][j] = pre[i][j] + pre[i-1][j] + pre[i][j-1] - pre[i-1][j-1]ans = -1e9
for r1 in range(2,n):for r2 in range(r1,n):x = pre[r2][m] - pre[r1-1][m] # 十字的横summ = [0]  # 二维前缀和压缩到一维,并减去"横"for col in range(1,m+1):summ.append(pre[n][col] - (pre[r2][col] - pre[r1-1][col])minn = 0res = -1e9 # 子数组最大和for i in range(1,len(summ)):res = max(res,summ[i]-minn)minn = min(minn,summ[i])ans = max(ans,res + x)
print(ans)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/24941.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Hive从入门到运用

hive简介 hive的设计思想&#xff08;本质是一个翻译器&#xff09; 上传安装包 解压&#xff0c;查看 运行hive&#xff08;一定要启动hadoop&#xff0c;是有依赖关系的。&#xff09; 测试启动方法&#xff0c;和建表 文件创建很上传到hdfs&#xff0c;直接上传到hive表的目…

使用消息队列怎样防止消息重复?

大家好&#xff0c;我是君哥。 使用消息队列时&#xff0c;我们经常会遇到一个可能对业务产生影响的问题&#xff0c;消息重复。在订单、扣款、对账等对幂等有要求的场景&#xff0c;消息重复的问题必须解决。 那怎样应对重复消息呢&#xff1f;今天来聊一聊这个话题。 1.三…

【单片机】MSP430MSP432入门

文章目录 0 前言1 开发方式选择2 CCS和开发相关软件3 Keil开发MSP4324 IAR for 430开发MSP4305 总结 0 前言 最近因为想学DSP&#xff0c;所以把之前卸载的CCS给装回来了&#xff0c;手头也还有之前电赛剩下的MSP430和MSP432的板子&#xff0c;由于年代久远&#xff0c;想着花点…

[记录贴] 火绒奇怪的进程保护

最近一次更新火绒6.0到最新版&#xff0c;发现processhacker的结束进程功能无法杀掉火绒的进程&#xff0c;弹窗提示如下&#xff1a; 可能是打开进程时做了权限过滤&#xff0c;火绒注册了两个回调函数如下&#xff1a; 但奇怪的是&#xff0c;在另外一台机器上面更新到最新版…

跨平台公式兼容性大模型提示词模板(飞书 + CSDN + Microsoft Word)

飞书云文档 CSDN MD编辑器 Microsoft Word 跨平台公式兼容方案&#xff1a; 一、背景痛点与解决方案 在技术文档创作中&#xff0c;数学公式的跨平台渲染一直存在三大痛点&#xff1a; 飞书云文档&#xff1a;原生KaTeX渲染与导出功能存在语法限制微软Word&#xff1a;Math…

【Linux】基于UDP/TCP套接字编程与守护进程

目录 一、网路套接字编程 &#xff08;一&#xff09;基础概念 1、源IP地址与目的IP地址 2、端口号 3、TCP与UDP 4、网络字节序 &#xff08;二&#xff09;套接字编程接口 1、socket 常见API 2、sockaddr结构 &#xff08;三&#xff09;UDP套接字 1、UDP服务器创建…

ue5 3dcesium中从本地配置文件读取路3dtilles的路径

关卡蓝图中获得3dtiles的引用 拉出设置url 设置路径 至于设置的路径从哪里来 可以使用varest读取文件里的接送字符串 path中配置地址 path变量的值为: Data/VillageStartMapConfig.json此地址代表content的地下的data文件夹里的config.json文件 {"FilePath": &quo…

渗透测试(WAF过滤information_schema库的绕过,sqllib-46关,海洋cms9版本的注入)

1.sqlin-lib 46关 打开网站配置文件发现 此网站的对ID进行了排序&#xff0c;我们可以知道&#xff0c;order by接不了union &#xff0c;那我们可以通过测试sort&#xff0c;rond等函数&#xff0c;观察网页的反馈来判断我们的盲注是否正确 我们发现 当参数有sort来排序时&…

CSS笔记一

一、语法 选择器{属性&#xff1a;属性值&#xff1b;属性&#xff1a;属性值} 二、书写分类 行内样式&#xff1a;直接通过style属性写在标签上 <p style"font-size80px">123456</p> 页内样式&#xff1a;在html页面创建style标签 外链样式&…

Flutter: TextEditingValue的实现

文章目录 TextEditingValue一、fromJSON二、text、selection、composing、empty三、isComposingRangeValid四、replaced TextEditingValue /// The current text, selection, and composing state for editing a run of text. immutable class TextEditingValue {const TextEd…

Web开发:ORM框架之使用Freesql的导航属性

一、什么时候用导航属性 看数据库表的对应关系&#xff0c;一对多的时候用比较好&#xff0c;不用多写一个联表实体&#xff0c;而且查询高效 二、为实体配置导航属性 1.给关系是一的父表实体加上&#xff1a; [FreeSql.DataAnnotations.Navigate(nameof(子表.子表关联字段))]…

RAG(检索增强生成)原理、实现与评测方法探讨

RAG是什么&#xff1f; 看一下RAG的英文全称&#xff1a;Retrieval-Augmented Generation&#xff0c;建索、增强、生成&#xff1b;一句话串起来就是通过检索增强模型的生成&#xff0c;是的&#xff0c;这就是RAG。 RAG怎么做&#xff1f; 目前比较通用的套路是这样的&#x…

【嵌入式Linux应用开发基础】网络编程(4):UDP协议

目录 一、UDP 协议概述 二、UDP 协议特点 三、UDP协议的字段格式 四、UDP协议的数据传输过程 五、嵌入式UDP编程核心API 六、UDP 在嵌入式 Linux 中的编程实现 6.1 UDP 服务器代码示例 6.2 UDP 客户端代码示例 七、UDP 协议的应用场景 八、UDP 协议的优缺点 8.1 优点…

视频字幕识别和翻译

下载的视频很多不是汉语的&#xff0c;我们需要用剪映将语音识别出来作为字幕压制到视频中去。 剪映6.0以后语音识别需要收费&#xff0c;但是低版本还是没有问题。 如果想要非汉语字幕转成中文&#xff0c;剪映低版本不提供这样功能。但是&#xff0c;用剪映导出识别字幕&am…

小迪安全-24天-文件管理,显示上传,黑白名单,访问控制

上节课回顾&#xff0c;token问题 没有更新token值&#xff0c;造成了复用 加上这段代码就好了&#xff0c;就不会复用了 文件管理-文件上传 upload.html文件&#xff0c;找ai生成就行 uoload.php接受文件上传的信息 这里在写个临时文件存储换个地方 因为上面临时文件存在c盘…

单入单出队列性能优化(Lock-Free)

摘要&#xff1a;文中首先介绍了有锁线程安全循环队列的基本实现&#xff0c;然后探讨了使用原子变量实现 Lock-Free 队列的优势&#xff0c;能够减少线程之间的数据竞争。接着&#xff0c;介绍了数据对齐的策略&#xff0c;以降低伪共享的概率&#xff0c;随后引入了索引缓存来…

java项目之网络游戏交易系统源码(ssm+mysql)

风定落花生&#xff0c;歌声逐流水&#xff0c;大家好我是风歌&#xff0c;混迹在java圈的辛苦码农。今天要和大家聊的是一款基于ssm的网络游戏交易系统。项目源码以及部署相关请联系风歌&#xff0c;文末附上联系信息 。 项目简介&#xff1a; 本网络游戏交易系统分为管理员…

PyTorch 源码学习:GPU 内存管理之深入分析 CUDACachingAllocator

因引入 expandable_segments 机制&#xff0c;PyTorch 2.1.0 版本发生了较大变化。本文关注的是 PyTorch 原生的 GPU 内存管理机制&#xff0c;故研究的 PyTorch 版本为 2.0.0。代码地址&#xff1a; c10/cuda/CUDACachingAllocator.hc10/cuda/CUDACachingAllocator.cpp 更多内…

【PromptCoder】使用 package.json 生成 cursorrules

【PromptCoder】使用 package.json 生成 cursorrules 在当今快节奏的开发世界中&#xff0c;效率和准确性至关重要。开发者们不断寻找能够优化工作流程、帮助他们更快编写高质量代码的工具。Cursor 作为一款 AI 驱动的代码编辑器&#xff0c;正在彻底改变我们的编程方式。但如…

学习路程五 向量数据库Milvus操作

前序 前面安装好了docker且成功拉取Milvus镜像&#xff0c;启动。通过python成功连接上了数据。接下来就继续更多Milvus的操作 在开始之前&#xff0c;先来简单了解一下向量数据库内一些东西的基本概念 概念描述数据库&#xff08;Database&#xff09;类似与MySQL的database…