【蓝桥杯python研究生组备赛】003 贪心
题目1 股票买卖
给定一个长度为 N 的数组,数组中的第 i 个数字表示一个给定股票在第 i 天的价格。
设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。
注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。
输入格式
第一行包含整数 N,表示数组长度。
第二行包含 N 个不大于 10000 的正整数,表示完整的数组。
输出格式
输出一个整数,表示最大利润。
数据范围
1≤N≤105
输入样例1:
6
7 1 5 3 6 4
输出样例1:
7
输入样例2:
5
1 2 3 4 5
输出样例2:
4
输入样例3:
5
7 6 4 3 1
输出样例3:
0
样例解释
样例1:在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5-1 = 4 。随后,在第 4 天(股票价格 = 3)的时候买入,在第 5 天(股票价格 = 6)的时候卖出, 这笔交易所能获得利润 = 6-3 = 3 。共得利润 4+3 = 7。
样例2:在第 1 天(股票价格 = 1)的时候买入,在第 5 天 (股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5-1 = 4 。注意你不能在第 1 天和第 2 天接连购买股票,之后再将它们卖出。因为这样属于同时参与了多笔交易,你必须在再次购买前出售掉之前的股票。
样例3:在这种情况下, 不进行任何交易, 所以最大利润为 0。
python代码
n=int(input())
data=list(map(int,input().split()))ans=0for i in range(n-1):if data[i+1]>data[i]:ans+=data[i+1]-data[i]print(ans)
知识点
- 主要是在于思路:任何多日间的低买高卖,都可以被简化为每两天之间的交易
题目2 货仓选址
在一条数轴上有 N 家商店,它们的坐标分别为 A1∼AN。
现在需要在数轴上建立一家货仓,每天清晨,从货仓到每家商店都要运送一车商品。
为了提高效率,求把货仓建在何处,可以使得货仓到每家商店的距离之和最小。
输入格式
第一行输入整数 N。
第二行 N 个整数 A1∼AN。
输出格式
输出一个整数,表示距离之和的最小值。
数据范围
1≤N≤100000,
0≤Ai≤40000
输入样例:
4
6 2 9 1
输出样例:
12
python代码
n=int(input())data=list(map(int,input().split()))
ans=0
data.sort()
if n%2==0:#n为偶数,选在中间两个数中间place=data[n//2-1]
else:#n为奇数,选在中位数place=data[n//2]#计算总距离
for i in range(n):ans+=abs(data[i]-place)
print(int(ans))
知识点
- 思路问题,首先是无疑是把货仓建在 商店中间
- 当n为偶数,放在中间的两个 中的一个
- 当n为偶数,放在中间的一个
题目3 糖果传递
有 n 个小朋友坐成一圈,每人有 a[i] 个糖果。
每人只能给左右两人传递糖果。
每人每次传递一个糖果代价为 1。
求使所有人获得均等糖果的最小代价。
输入格式
第一行输入一个正整数 n,表示小朋友的个数。
接下来 n 行,每行一个整数 a[i],表示第 i 个小朋友初始得到的糖果的颗数。
输出格式
输出一个整数,表示最小代价。
数据范围
1≤n≤1000000,
0≤a[i]≤2×10^9,
数据保证一定有解。
输入样例:
4
1
2
5
4
输出样例:
4
python代码
n=int(input())
data=[0]
n1=n
while n1:a=int(input())data.append(a)n1-=1
ave=sum(data)//n
c=[0]*(n+1)for i in range(n):c[i+1]=c[i]+data[i]-ave
# print(c)
ans=0
c=[0]+sorted(c[1:n+1])
# print(c)
for i in range(1,n+1):#下标从1开始ans+=abs(c[i]-c[n//2+1])
print(ans)
知识点
- 图例中的c1与代码中的c1不是一致的
- c1-c4均可正可负
- 将问题转化为,已知a1,a2,a3,a4,求距离每一个点 最小的距离和,而最优解就是中位数
题目4
假设海岸是一条无限长的直线,陆地位于海岸的一侧,海洋位于另外一侧。
每个小岛都位于海洋一侧的某个点上。
雷达装置均位于海岸线上,且雷达的监测范围为 d,当小岛与某雷达的距离不超过 d 时,该小岛可以被雷达覆盖。
我们使用笛卡尔坐标系,定义海岸线为 x 轴,海的一侧在 x 轴上方,陆地一侧在 x 轴下方。
现在给出每个小岛的具体坐标以及雷达的检测范围,请你求出能够使所有小岛都被雷达覆盖所需的最小雷达数目。
输入格式
第一行输入两个整数 n 和 d,分别代表小岛数目和雷达检测范围。
接下来 n 行,每行输入两个整数,分别代表小岛的 x,y 轴坐标。
同一行数据之间用空格隔开。
输出格式
输出一个整数,代表所需的最小雷达数目,若没有解决方案则所需数目输出 −1。
数据范围
1≤n≤1000,
1≤d≤200,
−1000≤x,y≤1000
输入样例:
3 2
1 2
-3 1
2 1
输出样例:
2
python代码
n,d=map(int,input().split())data=[list(map(int,input().split())) for _ in range(n)]#先计算覆盖每一个小岛对应的线段
from math import sqrt
data.sort(key=lambda x:x[0])#按照横坐标排序line=[]#存储对应的线段for i in range(n):#如果小岛纵坐标已经大于半径,那么直接输出-1if data[i][1]>d:print(-1)exit()elif data[i][1]==d:a,b=data[i][0],data[i][0]line.append([a,b])else:distance=sqrt(d**2-data[i][1]**2)a=data[i][0]-distanceb=data[i][0]+distanceline.append([a,b])line.sort(key=lambda x:x[1])#按照线段右端点排序
ans=0
last=line[0][1]#上一个雷达点for i in range(1,n):if last>=line[i][0]:ans+=0else:last=line[i][1]ans+=1
print(ans)
知识点
- 如果以雷达为核心,r为半径的圆,去找覆盖到的小岛,不太容易判断 那么就以小岛为圆心,找到能满足要求的 线段[a,b]
- 如果小岛纵坐标已经大于半径,那么直接输出-1
- 按照右端点对区间进行排序,那么如果下一个需求坐标的左端点在 上一个坐标右端点的后面,则需要再放一个雷达,反之,不用放雷达
- 排序:
line.sort(key=lambda x:(x[1],x[0]))
:先按照line每一个元素的第二个值进行排序,若第二个值相等,按照这个元素的第一个值进行排序。
line=[[1,2],[3,2],[5,2],[-2,4]]
line.sort(key=lambda x:(x[1],x[0]))
print(line)#[[1, 2], [3, 2], [5, 2], [-2, 4]]
更多蓝桥杯笔记:蓝桥杯备赛笔记
题目5 付账问题
几个人一起出去吃饭是常有的事。
但在结帐的时候,常常会出现一些争执。
现在有 n 个人出去吃饭,他们总共消费了 S 元。
其中第 i 个人带了 ai 元。
幸运的是,所有人带的钱的总数是足够付账的,但现在问题来了:每个人分别要出多少钱呢?
为了公平起见,我们希望在总付钱量恰好为 S 的前提下,最后每个人付的钱的标准差最小。
这里我们约定,每个人支付的钱数可以是任意非负实数,即可以不是 1 分钱的整数倍。
你需要输出最小的标准差是多少。
标准差的介绍:标准差是多个数与它们平均数差值的平方平均数,一般用于刻画这些数之间的“偏差有多大”。
形式化地说,设第 i 个人付的钱为 bi 元,那么标准差为 :
输入格式
第一行包含两个整数 n、S;
第二行包含 n 个非负整数 a1, …, an。
输出格式
输出最小的标准差,四舍五入保留 4 位小数。
数据范围
1≤n≤5×105,
0≤ai≤109,
0≤S≤1015。
输入样例1:
5 2333
666 666 666 666 666
输出样例1:
0.0000
输入样例2:
10 30
2 1 4 7 4 8 3 6 4 7
输出样例2:
0.7928
python代码
n,s=map(int,input().split())
data=list(map(int,input().split()))sum1=sum(data)
ave=s/nvar=0
data.sort()
i=0
while i<len(data):mean=s/nif data[i]<=mean:#余额小于均值,只能付出全部var+=(data[i]-ave)**2s-=data[i]n-=1i+=1else:#后面的每一个都大于当前均值var+=(mean-ave)**2*nbreak
var=(var/len(data))**0.5print(f'{var:.4f}')
知识点
贪心原则:局部考虑,当前某一个人距离最终均值最小:
- 余额少于等于剩余的均值,那么付出所有余额
- 余额大于剩余的均值,那么之后的所有人都大于该均值,每个人付出该均值
- 标准化输出:
print(f'{var:.4f}')
:保留4位小数,浮点型
题目6 乘积最大
给定 N 个整数 A1,A2,…AN。
请你从中选出 K 个数,使其乘积最大。
请你求出最大的乘积,由于乘积可能超出整型范围,你只需输出乘积除以 1000000009 的余数。
注意,如果 X<0, 我们定义 X 除以 1000000009 的余数是负(−X)除以 1000000009 的余数,即:0−((0−x)%1000000009)
输入格式
第一行包含两个整数 N 和 K。
以下 N 行每行一个整数 Ai。
输出格式
输出一个整数,表示答案。
数据范围
1≤K≤N≤10^5,
−10^5 ≤Ai≤ 10 ^5
输入样例1:
5 3
-100000
-10000
2
100000
10000
输出样例1:
999100009
输入样例2:
5 3
-100000
-100000
-2
-100000
-100000
输出样例2:
-999999829
python代码
n,k=map(int,input().split())data=[int(input()) for _ in range(n)]
mod1=10**9+9def mod(x):if x>0:return x%mod1return -(-x%mod1)data.sort()
flag=1#标记是否全是负数
ans=1if k%2!=0:#奇数个,转化为偶数问题ans*=data[-1]n-=1k-=1if data[-1]<0:#全是负数flag=-1l,r=0,n-1
while k:ll=data[l]*data[l+1]rr=data[r]*data[r-1]if ll*flag>=rr*flag:ans*=llans=mod(ans)l+=2else:ans*=rrans=mod(ans)r-=2k-=2print(ans)
知识点
蓝桥杯笔记:蓝桥杯备赛笔记
- 主要是要考虑到所有的情况,做到不重复,不遗漏
- 首先是当n==k,那么就只能所有的数相乘
- k为偶数
- 全正:排序后的数据,从右到左即可
- 至少存在一个负数,此时k<n,那么就不选这个负数,剩下选择成对的负数or正数,取绝对值最大的
- k为奇数
- 全负:排序后的数据,从左到右即可,结果一定为负
- 至少存在一个正数,此时k<n,那么就选择这个正数,之后从n-1个数中选择k-1个(负数、正数都成对选),此时k-1为偶数,最终结果一定大于等于0
题目7 后缀表达式
给定 N 个加号、M 个减号以及 N+M+1 个整数 A1,A2,···,AN+M+1,小明想知道在所有由这 N 个加号、M 个减号以及 N+M+1 个整数凑出的合法的后缀表达式中,结果最大的是哪一个?
请你输出这个最大的结果。
例如使用 123+−,则 “23+1−” 这个后缀表达式结果是 4,是最大的。
输入格式
第一行包含两个整数 N 和 M。
第二行包含 N+M+1 个整数 A1,A2,···,AN+M+1。
输出格式
输出一个整数,代表答案。
数据范围
0≤N,M≤105,
−109≤Ai≤109
输入样例:
1 1
1 2 3
输出样例:
4
思路
蓝桥杯笔记:蓝桥杯备赛笔记
很多贪心题目一下子真的很难想出来,怎么办?找规律
首先保证分类情况没有重复没有遗漏
- 全是正数
1 2 3 4 5
- n=4,m=0:全部相加
- n=3,m=1:5+4+3+2-1
- n=2,m=2:5+4+3-(1-2)
- n=1,m=3:5+4-(1-2-3)
- n=0,m=4:2-(1-5-4-3)
- 全是负数
-5 -4 -3 -2 -1
- n=4,m=0:全部相加
- n=3,m=1:(-1)-{(-5)+(-4)+(-3)+(-2)}
- n=2,m=2:(-1)-{(-5)+(-4)+(-3)}-(-2)
- n=1,m=3:(-1)-{(-5)+(-4)}-(-3)-(-2)
- n=0,m=4:(-1)-(-5)-(-4)-(-3)-(-2)
- 有正有负
-5 -4 -3 2 1
- n=4,m=0:全部相加
- n=3,m=1:(1)-{(-5)+(-4)+(-3)+(2)}
- n=2,m=2:(1)-{(-5)+(-4)}-(-3)+(2)
- n=1,m=3:(1)-{(-5)}-(-4)-(-3)+2
- n=0,m=4:(1)-(-5)-(-4)-(-3)-(-2)
不知道你找到规律没?关键在于 减号的数量
- 减号数量为0,所有元素相加
- 减号数量不为0,列表中最大元素-最小元素+其余每一个元素的绝对值
import os
import sys
n,m=map(int,input().split())
data=list(map(int,input().split()))
data.sort()
ans=0
if m==0:#一个负号都不存在ans=sum(data)
else:#至少存在一个负号ans=data[-1]-data[0]for i in range(1,len(data)-1):ans+=abs(data[i])
print(ans)
题目8 社区服务
问题描述
为了庆祝妇女节,社区组织了一场“温暖传递”活动。社区中有 n n n 个服务点排成一列,每个服务点可能有志愿者(用 1
表示)或暂时无人(用 0
表示)。
每个服务点都有居民需要帮助,现在你需要从左往右,为每个无志愿者服务点计算距离最近的有志愿者服务点的距离,若不存在则输出 − 1 -1 −1。
输入格式
第一行输入一个整数 n n n( 1 ≤ n ≤ 5000 1 \leq n \leq 5000 1≤n≤5000),表示服务点数量。
第二行输入一个长度为 n n n 的二进制字符串 S S S,1
表示当前服务点有志愿者,0
表示当前服务点无志愿者。
数据保证 S S S 至少包含 1 1 1 个 0
。
输出格式
输出一行若干个整数,表示每个无志愿者服务点到有志愿者服务点的最近距离,若不存在则输出 − 1 -1 −1。
样例输入
7
1010100
样例输出
1 1 1 2
思路
一开始以为全是0,比如000,输出一个“-1”,后来才知道正确答案是“-1 -1 -1”
记录1的下标 对于每一个0,遍历1的下标,更新1到0 的距离的最小值 如果最终这个最小值 找到了,就放进答案列表ans中 没有找到这个最小值,即全是0的情况,把-1放进列表
python代码
n=int(input())
data=list(map(int,input()))list_1=[]#存1的下标
for i in range(n):if data[i]==1:list_1.append(i)
ans=[]for i in range(n):ans1=nif data[i]==0:for j in list_1:ans1=min(ans1,abs(j-i))if ans1!=n:ans.append(ans)else:ans.append(-1)print(*ans,sep=' ')
相关文章:
【蓝桥杯python研究生组备赛】003 贪心
题目1 股票买卖 给定一个长度为 N 的数组,数组中的第 i 个数字表示一个给定股票在第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。 注意:你不能同时参与多笔交易&…...
Banana Pi 与瑞萨电子携手共同推动开源创新:BPI-AI2N
2025年3月11日, Banana Pi 开源硬件平台很高兴宣布,与全球知名半导体解决方案供应商瑞萨电子(Renesas Electronics)正式达成技术合作关系。此次合作标志着双方将在开源技术、嵌入式系统和物联网等领域展开深度合作,为全…...
【算法工具】HDL: 基于摘要统计数据的高维连锁不平衡分析软件
## 前言 在基因组研究中,连锁不平衡(Linkage Disequilibrium, LD)分析是理解遗传变异之间关联的关键步骤。然而,当面对高维数据时,传统分析方法往往面临巨大计算挑战。今天为大家介绍一款强大的工具——HDL (High-Dimensional Linkage diseq…...
虚拟展览馆小程序:数字艺术与文化展示的新形式探索
虚拟展览馆小程序:数字艺术与文化展示的新形式探索 一、传统展览的痛点:物理空间的局限与数字化的必然 在传统的艺术与文化展览中,观众往往需要跨越地理距离、排队数小时才能进入展馆,而许多珍贵展品因保护需求无法长期展出。数据显示,全球90%以上的博物馆藏品常年沉睡于…...
docker 搭建alpine下nginx1.26/mysql8.0/php7.4环境
docker 搭建alpine下nginx1.26/mysql8.0/php7.4环境 docker-compose.yml services:mysql-8.0:container_name: mysql-8.0image: mysql:8.0restart: always#ports:#- "3306:3306"volumes:- ./etc/mysql/conf.d/mysql.cnf:/etc/mysql/conf.d/mysql.cnf:ro- ./var/log…...
java项目之基于ssm的在线学习系统(源码+文档)
项目简介 在线学习系统实现了以下功能: 该系统可以实现论坛管理,通知信息管理,学生管理,回答管理,教师管理,教案管理,公告信息管理,作业管理等功能。 💕💕作…...
macOS 安装配置 iTerm2 记录
都说 macOS 里替换终端最好的就是 iTerm2 ,这玩意儿还是开源的,所以就也根风学习一下,但全是英文的挺麻烦,所以这里记录一下自己的设置,以最简单的安装及设置为主,想要更酷炫、更好看的还请自己百度吧&…...
矩阵分析-浅要理解(深度学习方向)
梯度分析与最优化 在深度学习的任务中,我们所期望的是训练一个神经网络,使得预测结果与真实标签之间的误差最小化,这可以近似看作是一个提供梯度下降等优化找到全局最优解的凸优化问题。 奇异值分解 在信息工程领域,对数据处理的…...
Odoo 18 中的自动字段和预留字段
Odoo 18 中的自动字段和预留字段 作为一个开源平台,Odoo 的价值在于其使用和开发的灵活性、可扩展性和经济性。虽然 Odoo 本身主要用 Python 和 JavaScript 编写,但其作为开源 ERP 系统的价值超越了特定编程语言的范畴,为各行各业的企业提供了…...
【操作系统安全】任务1:操作系统部署
目录 一、VMware Workstation Pro 17 部署 二、VMware Workstation 联网方式 三、VMware 虚拟机安装流程 四、操作系统介绍 五、Kali 操作系统安装 六、Windows 系统安装 七、Windows 系统网络配置 八、Linux 网络配置 CSDN 原创主页:不羁https://blog.csd…...
Linux:自动化构建-make/Makefile
1.背景 一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作…...
maven wrapper的使用
写在前面 考虑这样的场景,张三创建了一个maven项目使用了3.9版本,当李四下载下来去开发配置的却是3.6版本,此时李四就不得不再去配置一个3.9版本的maven,为了解决这个问题,maven引入了maven wrapper的机制(…...
DB-GPT-0.7版本win11安装,最新版本,安装方式变更了
之前两天折腾要死,只因为安装了旧版本问题太多,现在安装最新版本 快速开始_V0.7.0 语雀 DB-GPT 0.7.0 部署教程 - yyhhyys blog DB-GPT 0.7.0 与 DeepSeek 集成使用指南 - yyhhyys blog 首先代码结构换了,python包管理工作也换了…...
树莓集团落子海南,如何重构数字产业生态体系
树莓集团在海南的布局,是其整体商业战略中的关键一环。这背后,是对政策机遇、产业协同、以及区域优势的深度考量。 政策机遇 海南自贸港建设带来前所未有的政策红利,包括贸易、投资、资金等方面的自由便利。树莓集团紧抓这一机遇࿰…...
Spring Boot 项目部署启动异常问题分析与解决:主类缺失与依赖冲突的分析
Spring Boot 项目部署启动异常问题分析与解决 在近期的 Spring Boot 项目部署工作中,遭遇了一起典型的启动异常状况。经过多维度的深入排查以及细致的调试,最终确定问题的根源在于打包插件配置与依赖管理的综合影响。以下将详细阐述整个问题的分析过程以及对应的解决办法。 …...
共享内存(System V)——进程通信
个人主页:敲上瘾-CSDN博客 进程通信: 匿名管道:进程池的制作(linux进程间通信,匿名管道... ...)-CSDN博客命名管道:命名管道——进程间通信-CSDN博客 目录 一、共享内存的原理 二、信道的建立 …...
考研数学非数竞赛复习之Stolz定理求解数列极限
在非数类大学生数学竞赛中,Stolz定理作为一种强大的工具,经常被用来解决和式数列极限的问题,也被誉为离散版的’洛必达’方法,它提供了一种简洁而有效的方法,使得原本复杂繁琐的极限计算过程变得直观明了。本文&#x…...
12 DHCP的内容和HTTP的改良
一、回顾 计算机分配相关身份 网络号、主机号 网络号内的主机识别 局部网通信网关 不同网络的通信DNS服务器 域名解析 因特网通信 二、DHCP协议 建议学习前看这个视频,14分钟,所有的知识点都有,很容易理解 1、理解 DHCP 的全称是 Dynam…...
多光谱相机数据采集过程中常见仪器
1.BF1515多光谱相机 2.VIX-N220推扫式可见光近红外高光谱相机 覆盖光谱范围:400-1000nm; 光谱分辨率:2nm; 设备配套软件:VIX-N220、XuanDo(用于调节相机推扫速度); 镜头调节所需材料:黑色条…...
【调研】olmOCR解析PDF
测试用例: olmOCR GOT-OCR 将最底下没有文字的部分,可能是样式解析出重复 olmOCR GOT-OCR 无重复 重复 速度上,olmOCR效果更快 效果上,olmOCR解析得到的内容排版更加清晰整齐,而且对于6份GOT-OCR有重复的测…...
蓝桥杯随笔练——二分模板
答案 #include <bits/stdc.h> //洛谷2249 using namespace std;const int N 1e610; int n,m; int a[N];int Array_Search(int a[],int len,int x) {int L 0,R len1;while(L1 < R){int mid (RL) >> 1;if(a[mid] < x ) L mid;else R mid;}if(a[R] x) r…...
【Golang】第三弹----运算符
笔上得来终觉浅,绝知此事要躬行 🔥 个人主页:星云爱编程 🔥 所属专栏:Golang 🌷追光的人,终会万丈光芒 🎉欢迎大家点赞👍评论📝收藏⭐文章 一、运算符介绍 运算符是一…...
MongoDB 聚合管道速成教程
一、引言 MongoDB 的聚合管道(Aggregation Pipeline)是一种强大的数据处理工具,它允许你对文档进行一系列的操作,如过滤、转换、分组和聚合等。聚合管道由多个管道组成,每个管道对输入的文档进行特定的处理࿰…...
「JavaScript深入」二进制数据处理详解「Blob、File、FileReader、ArrayBuffer、Typed Arrays、DataView」
二进制数据处理详解 1. Blob(Binary Large Object)Blob 的特性创建 BlobBlob 主要方法Blob 的应用 2. FileFile 对象的属性获取 File 对象 3. FileReader创建 FileReader主要方法主要事件文件上传与读取内容示例文件分块读取示例 4. ArrayBuffer 与 Type…...
信号处理之插值、抽取与多项滤波
信号处理之插值、抽取与多项滤波 一、问题背景 插值(Interpolation)与抽取(Decimation)是数字信号处理中采样率转换的核心操作: 插值:在信号中插入新样本以提高采样率( L L L倍)抽取:按比例 M M M降低采样率…...
关于WPS的Excel点击单元格打开别的文档的两种方法的探究
问题需求 目录和文件结构如下: E:\Dir_Level1 │ Level1.txt │ └─Dir_Level2│ Level2.txt│ master.xlsx│└─Dir_Level3Level3.txt现在要在master.xlsx点击单元格进而访问Level1.txt、Level2.txt、Level3.txt这些文件。 方法一:“单元格右键…...
蓝桥 2109统计子矩阵
问题描述 给定一个NM 的矩阵 A, 请你统计有多少个子矩阵 (最小 11, 最大 NM) 满足子矩阵中所有数的和不超过给定的整数 K ? 输入格式 第一行包含三个整数 N,M 和 K. 之后 NN 行每行包含 M 个整数, 代表矩阵 A. 输出格式 一个整数代表答案。 样例输入 3 4 10 1 2 3 4 5…...
AF3 make_fixed_size函数解读
AlphaFold3 data_transforms 模块的 make_fixed_size 函数的作用是将输入的蛋白质特征字典 protein 中的各个特征张量调整为固定大小。这是为了确保在批量处理时,所有特征张量的形状一致,从而避免形状不匹配的问题。 源代码: import itertools import torch from src.con…...
前端模块管理新思路:如何使用 Import Maps
前言 前端开发中,我们常常需要使用各种库和模块来构建功能丰富的应用。在传统方式中,管理这些库和模块的引用可能会有些繁琐。 幸运的是,Import Maps 的出现为我们提供了一种更简洁和高效的解决方案。今天我们就来聊聊如何使用 Import Maps。…...
交换机、路由器、网关、MAC地址——从入门到实战
你是否好奇,当你在手机上点击一个网页链接时,数据是如何从你的设备“飞”到千里之外的服务器并返回的?背后离不开交换机、路由器、网关和MAC地址的默契配合。本文用通俗语言实战场景,带你彻底搞懂这些网络核心组件,从此…...
【江协科技STM32】ADC数模转换器-学习笔记
ADC简介 ADC(Analog-Digital Converter)模拟-数字转换器ADC可以将引脚上连续变化的模拟电压转换为内存中存储的数字变量,建立模拟电路到数字电路的桥梁,ADC是一种将连续的模拟信号转换为离散的数字信号的设备或模块12位逐次逼近型…...
LanceDB快速入门之基本操作与API一览
LanceDB可以以多种方式运行 可以嵌入到现有后端(如您的 Django、Flask、Node.js 或 FastAPI 应用程序)中直接从如 Jupyter 笔记本等客户端应用程序中用于分析工作负载部署为远程无服务器数据库 安装 Python: pip install lancedbTypeScrip…...
Spring Boot 整合 Redis
以下是 Spring Boot 整合 Redis 的指南,涵盖配置、基本操作、高级用法及常见问题解决。 1. 添加依赖 在 pom.xml 中添加 Spring Data Redis 和连接池依赖: <dependency><groupId>org.springframework.boot</groupId><artifactId&…...
七层协议攻防实战:从HTTP慢速攻击到DNS隧道检测
一、七层协议攻击类型与特征 攻击类型协议特征HTTP慢速攻击HTTP低速率发送不完整请求DNS隧道DNS异常长域名、高频率TXT查询API滥用攻击HTTP高频调用关键接口(如短信发送)WebSocket洪水WebSocket海量小消息耗尽服务器资源 二、HTTP协议深度防护 1. 慢速…...
Java CAS(Compare-And-Swap)概念及原理
Java CAS(Compare-And-Swap)概念及原理 1. CAS的基本概念 CAS(Compare-And-Swap)是一种无锁编程的核心技术,用于实现多线程环境下的原子操作。其核心思想是: “先比较,再交换”。具体操作包含…...
内存检测工具——Qt Creator
前言 检测内存错误的工具,有很多个,我今天粗浅的学了一下可在Qt上使用的工具们: Dr.Memory 工具之前我曾在关注的博主上看到相关的博客:C(Qt)软件调试---内存调试器Dr.Memory(21)_dr. memory-CSDN博客 今…...
Ubuntu切换lowlatency内核
文章目录 一. 前言二. 开发环境三. 具体操作 一. 前言 低延迟内核(Lowlatency Kernel) 旨在为需要低延迟响应的应用程序设计的内核版本。Linux-lowlatency特别适合音频处理、实时计算、游戏和其他需要及时响应的实时任务。其主要特点是优化了中断处理、调…...
侯捷 C++ 课程学习笔记:STL标准库与泛型编程
STL 体系结构基础介绍 STL 六大部件: 容器(Containers) 分配器(Allocators) …...
Java 大视界 -- Java 大数据在智能安防视频摘要与检索技术中的应用(128)
💖亲爱的朋友们,热烈欢迎来到 青云交的博客!能与诸位在此相逢,我倍感荣幸。在这飞速更迭的时代,我们都渴望一方心灵净土,而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识,也…...
19874并查集
19874并查集 ⭐️难度:中等 🌟考点:并查集、数据结构 📖 📚 import java.util.*;public class Main {static int N 100010;static int[] a new int[N];static int[] p new int[N];static int n;static int m;st…...
ABC 376
目录 D. Cycle D. Cycle(改) E. Max Sum D. Cycle 这道题就是个 01 最短路,直接从 1 开始 bfs 看能不能回到 1 #include<bits/stdc.h> #define int long long using namespace std; const int N 2e5 5, INF 1e18;struct node {int …...
win32汇编环境,对 WM_MOUSEMOVE 消息的理解
;运行效果 ;win32汇编环境,对 WM_MOUSEMOVE 消息的理解 ;理解在 WM_MOUSEMOVE 消息发生时,同时来的wParam和lParam值的含义,并取出各自的值进行运用。从这例子也可以更好的理解windows的消息机制. ;WM_MOUSEMOVE消息就是当鼠标移动时,发送给窗…...
第27周JavaSpringboot电商进阶开发 2.常用功能进阶
电商常用功能进阶 - 课程笔记整理 Excel解析与处理 一、课程内容概述 本小节开始进入电商常用功能进阶部分,主要讲解以下内容: Excel的解析和处理商品图片的处理Valid注解对列表的验证订单数变化趋势图Spring Boot高级功能 二、Excel解析与处理的背…...
网络安全基础知识:从零开始了解网络安全
### 网络安全基础知识:从零开始了解网络安全 欢迎来到《零基础入门到独立参加网络安全比赛》系列教程的第一篇!在这篇文章中,我们将从最基础的概念开始,深入探讨网络安全的定义、重要性、常见的网络攻击类型,以及网络…...
【A2DP】蓝牙A2DP协议剖析:从架构到规范
目录 一、A2DP 协议架构 1.1 A2DP 协议栈结构组成 1.2 协议栈各部分的关系与作用 二、设备配置与角色定义(Configurations and roles ) 2.1 角色定义 2.2 配置示例与角色体现 三、用户需求与场景 3.1 用户需求与场景 3.2 协议限制 3.3 协议要求…...
python力扣15. 三数之和
给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k ,同时还满足 nums[i] nums[j] nums[k] 0 。请你返回所有和为 0 且不重复的三元组。 注意:答案中不可以包含重复的三元组。 示例 1&am…...
Linux之系统文件目录理解
1.boot/ 存储启动系统的相关文件的 2.swap/ 虚拟内存 3.dev/ 用于存放设备文件(device files)。这些文件是操作系统与硬件设备之间的接口,允许用户和程序通过文件操作的方式访问硬件资源 字符设备(Character Devices…...
uvm_transaction, uvm_seq_item, uvm_object, uvm_component的关系
uvm_object ├── uvm_component (验证环境中的静态组件) └── uvm_transaction└── uvm_sequence_item (用于sequence-driver交互的事务) 2. 核心类的作用与区别 (1) uvm_object 定位:所有UVM类的基类。 功能: 提供基础的对象操作&…...
Reflect.get和target[key]有何不同?
主要区别在this指向不同,下面输出张三还是李四?: const person{name:张三,get FullName(){return this.name;},};let personProxynew Proxy(person,{get(target,key){return Reflect.get(target,key)//或者return target[key]}});const p1{__proto__:pe…...
K8s 1.27.1 实战系列(十)PV PVC
一、核心概念与关系 1、PV(Persistent Volume) PV 是集群中的持久化存储资源,由管理员预先创建并配置,独立于 Pod 生命周期。它抽象了底层存储(如 NFS、云存储等),定义存储容量、访问模式(如 ReadWriteOnce)、回收策略(Retain/Delete/Recycle)等属性。例如,一…...