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

蓝桥杯真题(Python)每日练Day1

说明:在CSP认证的基础上(可以看看本人CSP打卡系列的博客)备赛2024蓝桥杯(Python),本人专业:大数据与数据科学 因此对python要求熟练掌握,通过练习蓝桥杯既能熟悉语法又能锻炼算法和思维逻辑,在此专栏中将记录本人每天的练习内容和解题思路。本人使用lanqiaoOJ练习,地址:www.lanqiao.cn/problems登录后即可根据题号查找到题目。题目部分将截图展示,题目分析讲述大致分析思路,题解中的代码注释详细解释步骤。如有不理解的部分或者值得改进的地方请在评论区留言。

学习计划:两道杂题,至少三道专项题。练习代码量不少于300行。

题目1

请添加图片描述

题目分析

1.显然 考察数组的知识,再看存储格式,直接用二维列表表示矩阵。
2.显然 运动轨迹是下右上左,限定运动次数即是矩阵中正整数的个数,判断轨迹方法:不可超过边界,遍历过的点不再遍历第二遍因此需要做标记。
3. 确定拐弯方向:由于只有四种方式且是循环执行所以,计数器从0开始计数,每过一步就加1对4取余即可判断拐弯方向。
4. 输出当前正整数,标准化输出后将走过的点标记即可。

题解

l=[]
m,n=map(int,input().split())
for i in range(m):l.append(input().split())dir=[[1,0],[0,1],[-1,0],[0,-1]]#下右上左
sum=m*n
x,y=-1,0
d=0#指针用来确定移动方向
while sum>0:sum=sum-1nx,ny=x+dir[d][0],y+dir[d][1]#确定下一个走的位置:xy是当前位置nx,ny是下一步的位置if nx<0 or nx>=m or ny<0 or ny>=n or l[nx][ny]==-1:#需要换方向的情况,走过的标记为-1,输入的都是正正数所以不打架d=(d+1)%4 #确定拐弯方向x,y=x+dir[d][0],y+dir[d][1]#移动到下一个else:#不需要换方向的时候x,y=nx,nyprint(l[x][y],end=" ")#按标准空格分割l[x][y]=-1#将走过的标记

题目二

区间修改、区间求和 lanqiaoOJ题号1133
【题目描述】
给定一个长度为n的数组,其初值分别为a1, a2, …, an。有m个操作,操作有两种:
1 l r k,将区间al+1, …, ar的值加上k。
2 l r,求区间al, al+1 ,…, ar的和是多少。
【输入描述】
输入第1行包含两个正整数n,m,分别表示数组a的长度和操作的个数。
第2行包含N 个非负整数a1,a2,…,an,表示数组a元素的初值。第3∼Q−2行每行表示一个操作,格式如题
【输出描述】
对每个求和输出1行,每行包含一个整数,表示相应查询的答案。

题目分析

  1. 分别将操作和原始数组存放在两个列表中。
  2. 遍历操作判断是1还是2 若1则需加k否则,2直接用内置函数sum求和。
  3. 成功的超时了。。。通过率只有30%
  4. 如若要满分需要用到树的内容,后期更新

30分题解

n ,q = list(map(int, input().split()))
a = [int(i)  for i  in input().split()]
for i in range(q):s=list(map(int, input().split()))#执行加k操作l = s[1]-1 r = s[2]-1if s[0]==1:k = s[3]for j in range(l,r+1):a[j] += kelse:print(sum(a[l:r+1]))

题目三

题号 1518但现在在OJ找不到
问题描述
  有n辆自行车依次来到停车棚,除了第一辆自行车外,每辆自行车都会恰好停放在已经在停车棚里的某辆自行车的左边或右边。(e.g.停车棚里已经有3辆自行车,从左到右编号为:3,5,1。现在编号为2的第4辆自行车要停在5号自行车的左边,所以现在停车棚里的自行车编号是:3,2,5,1)。给定n辆自行车的停放情况,按顺序输出最后停车棚里的自行车编号。
输入格式
  第一行一个整数n。
  第二行一个整数x。表示第一辆自行车的编号。
  以下n-1行,每行3个整数x,y,z。
  z=0时,表示编号为x的自行车恰停放在编号为y的自行车的左边
  z=1时,表示编号为x的自行车恰停放在编号为y的自行车的右边
输出格式
  从左到右输出停车棚里的自行车编号
样例输入

4
3
1 3 1
2 1 0
5 2 1

样例输出

3 2 5 1

题目分析

  1. Python中的列表可以当做链表使用,也可以当做队列、栈、数组使用,需要熟练掌握其内置函数的所有用法,增删改查必不可少。
l=[]
l.index()#索引
l.insert()#插入
l.append()#追加
l.count()#计数
l.remove()#删除
l.pop()#移除并返回删除的值
l.sort()#排序
l.clear()#清空列表
l.copy()#复制
l.extend()#追加可迭代对象
l.reverse()#返转
  1. 常规输入,之后判断操作是插入的放右边还是左边,最后遍历存放好的列表即可。

题解

n=int(input())
x=input()
l=[]
l1=[x]
for i in range(n-1):l.append(input().split())
for i in l:#print(i)if i[2]==1:l1.insert(l1.index(i[1]),i[0])else:l1.insert(l1.index(i[1])+1,i[0])
for i in l1:print(i,end=" ")

题解优化

n=int(input())
x=int(input())
l=[]
l1=[x]
for i in range(n-1):x,y,z=map(int,input().split())if z==0:#左边l1.insert(l1.index(y),x)else:#右边l1.insert(l1.index(y)+1,x)
for i in l1:print(i,end=" ")

题目四

请添加图片描述

题目分析

  1. 本题其实是练习数据结构中链表的操作,对于python来说使用列表可以方便的实现,这体现出python语言的方便。
  2. 多多练习列表方法即可很快实现,简单,不多赘述。
a=list(int(i) for i in range(1,11))#生成原始数组
b=[]#存放重排序之后的
n=int(input())
for i in range(n):x=int(input())index=a.index(x)a.pop(index)a.insert(0,x)for j in a:b.append(j)
sum=0#计数器
for i in b:print(i,end=" ")sum+=1if sum%10==0:#每十个就换行输出print(end="\n")#注意print()中参数的使用方法,等价于print("")

题目五

请添加图片描述

题解

n,k,m=map(int,(input().split()))
l=list(range(1,n+1))#人为1到10
i=k-1#位序从零开始所以减1
while len(l)>0:#只要有人没出来i=(i+m-1)%len(l)#报数又是从1开始报数所以减一print(l.pop(i))#人出去

请添加图片描述

相关文章:

蓝桥杯真题(Python)每日练Day1

说明&#xff1a;在CSP认证的基础上&#xff08;可以看看本人CSP打卡系列的博客&#xff09;备赛2024蓝桥杯&#xff08;Python&#xff09;&#xff0c;本人专业&#xff1a;大数据与数据科学 因此对python要求熟练掌握&#xff0c;通过练习蓝桥杯既能熟悉语法又能锻炼算法和思…...

IDEA怎么用Devtools热部署

IDEA怎么用Devtools热部署 大家知道在项目开发过程中&#xff0c;有时候会改动代码逻辑或者修改数据结构&#xff0c;为了能使改动的代码生效&#xff0c;往往需要重启应用查看改变效果&#xff0c;这样会相当耗费时间。 重启应用其实就是重新编译生成新的Class文件&#xff0…...

boost.circular_buffer的使用和介绍

C 文章目录 C 很多时候&#xff0c;我们需要在内存中记录最近一段时间的数据&#xff0c;如操作记录等。由于这部分数据记录在内存中&#xff0c;因此并不能无限递增&#xff0c;一般有容量限制&#xff0c;超过后就将最开始的数据移除掉。在stl中并没有这样的数据结构&#xf…...

深入理解Java中的ThreadLocal

第1章&#xff1a;引言 大家好&#xff0c;我是小黑。今天咱们来聊聊ThreadLocal。首先&#xff0c;让咱们先搞清楚&#xff0c;ThreadLocal是个什么玩意儿。简单说&#xff0c;ThreadLocal可以让咱们在每个线程中创建一个变量的“私有副本”。这就意味着&#xff0c;每个线程…...

【重点】【DP】300. 最长递增子序列

题目 更好的方法是耐心排序&#xff0c;参见《算法小抄》的内容&#xff01;&#xff01;&#xff01; 法1&#xff1a;DP 基础解法必须掌握&#xff01;&#xff01;&#xff01; class Solution {public int lengthOfLIS(int[] nums) {if (nums null || nums.length 0) …...

使用freessl为网站获取https证书及配置详细步骤

文章目录 一、进入freessl网站二、修改域名解析记录三、创建证书四、配置证书五、服务启动 一、进入freessl网站 首先进入freessl网站&#xff0c;需要注册一个账号 freessl网站 进入网站后填写自己的域名 接下来要求进行DCV配置 二、修改域名解析记录 到域名管理处编辑域名…...

Java-初识正则表达式 以及 练习

目录 什么是正则表达式&#xff1f; 1. 正则表达式---字符类&#xff08;一个大括号匹配一个字符&#xff09;&#xff1a; 2. 正则表达式---预字符类&#xff08;也是匹配一个字符&#xff09;&#xff1a; 正则表达式---数量词 &#xff08;可以匹配多个字符&#xff09;…...

【Flutter 问题系列第 80 篇】TextField 输入框组件限制可输入的最大长度后,输入的内容中包含表情符号时,获取输入的内容数还是会超出限制的问题

这是【Flutter 问题系列第 80 篇】&#xff0c;如果觉得有用的话&#xff0c;欢迎关注专栏。 博文当前所用 Flutter SDK&#xff1a;3.10.5、Dart SDK&#xff1a;3.0.5 一&#xff1a;问题描述 在输入用户名称、简介等内容时&#xff0c;一般我们都会限制输入框内最大可输入…...

漏洞检测和评估【网站子域扫描工具02】

上一篇&#xff1a;爬取目标网站的域名和子域名【网站子域扫描工具01】 在Python中&#xff0c;有一些流行的漏洞扫描库可以对子域进行漏洞扫描和评估&#xff0c;比如Nmap、Sublist3r等。 1.端口扫描 以下是一个简单的示例代码&#xff0c;展示了如何使用Nmap进行基本的端口扫…...

压力测试+接口测试(工具jmeter)

jmeter是apache公司基于java开发的一款开源压力测试工具&#xff0c;体积小&#xff0c;功能全&#xff0c;使用方便&#xff0c;是一个比较轻量级的测试工具&#xff0c;使用起来非常简单。因 为jmeter是java开发的&#xff0c;所以运行的时候必须先要安装jdk才可以。jmeter是…...

LeetCode 46 全排列

题目描述 全排列 给定一个不含重复数字的数组 nums &#xff0c;返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。 示例 1&#xff1a; 输入&#xff1a;nums [1,2,3] 输出&#xff1a;[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]示例 2&#xff1a; 输入…...

npm install 无反应 npm run serve 无反应

说明情况&#xff1a;其实最开始我就是发现我跟着黑马的苍穹外卖的前端day2的环境搭建做的时候&#xff0c;到这一步出现了问题&#xff0c;无论我怎么 npm install 和 npm run serve 都没有像黑马一样有很多东西进行加载&#xff0c;因此我换了一种方法 1.在这个文件夹下cmd …...

JAVAEE初阶 文件IO(二)

文件IO 一. 文件流1.1 字节流 inputStream(1) try with resources方法 1.2 read方法(1) 第一个read方法(2) 第二个read方法(3) read的第三个方法 1.3 字节流 OutoutStream1.4 字符流(1) reader(2) writer 一. 文件流 1.1 字节流 inputStream 在字节流中,我们使用inputStream和…...

Golang 三数之和+ 四数之和 leetcode15、18 双指针法

文章目录 三数之和 leetcode15map记录 失败&#xff01;超出限制双指针法 四数之和 leetcode18 三数之和 leetcode15 知识补充&#xff1a; map的key值必须是可以比较运算的类型&#xff0c;不可以是函数、map、slice map记录 失败&#xff01;超出限制 //得到结果后再去重 失…...

Mysql三种常用的删除方式

前言 在 MySQL 中&#xff0c;有三种常用的方式可以删除表中的数据或整个表&#xff0c;它们分别是 TRUNCATE、DROP 和 DELETE。 TRUNCATE TABLE TRUNCATE TABLE属于DDL语言&#xff0c;不走事务&#xff0c;数据不会回滚 TRUNCATE TABLE 语句会删除表中的所有数据&#xff…...

Eureka 本机集群实现

距离上次发布博客已经一年多了&#xff0c;主要就是因为考研&#xff0c;没时间学习技术的内容&#xff0c;现在有时间继续完成关于代码方面的心得&#xff0c;希望跟大家分享。 今天在做一个 Eureka 的集群实现&#xff0c;我是在本电脑上跑的&#xff0c;感觉这个挺有意思&a…...

查看神经网络中间层特征矩阵及卷积核参数

可视化feature maps以及kernel weights&#xff0c;使用alexnet模型进行演示。 1. 查看中间层特征矩阵 alexnet模型&#xff0c;修改了向前传播 import torch from torch import nn from torch.nn import functional as F# 对花图像数据进行分类 class AlexNet(nn.Module):d…...

重置aws上的ssh默认登录端口

aws上的ec2机器&#xff0c;默认ssh的登录都是22&#xff0c;为了防止被黑&#xff0c;记录下修改该默认端口的方法 修改/etc/ssh/sshd_config文件,将Port 22注释去掉在上面的文件中&#xff0c;加入一行&#xff0c;你想要增加的端口号&#xff0c;格式和22一致注意&#xff1…...

算法刷题——拿出最少数目的魔法豆(力扣)

文章目录 题目描述我的解法思路结果分析 官方题解分析 查漏补缺更新日期参考来源 题目描述 传送门 拿出最少数目的魔法豆&#xff1a;给定一个正整数 数组beans &#xff0c;其中每个整数表示一个袋子里装的魔法豆的数目。请你从每个袋子中拿出 一些豆子&#xff08;也可以 拿…...

Linux消息队列

常用函数 //创建/获取消息队列 int msgget (key_t key, int msgflg); /* key : 为键值,ftok(); msgflg:IPC_CREAT - 创建&#xff0c;不存在即创建&#xff0c;已存在即获取&#xff0c;除非… IPC_EXCL - 排斥&#xff0c;已存在即失败。 */// 向消息队列发送消息 int msgs…...

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…...

解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八

现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet&#xff0c;点击确认后如下提示 最终上报fail 解决方法 内核升级导致&#xff0c;需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...

基础测试工具使用经验

背景 vtune&#xff0c;perf, nsight system等基础测试工具&#xff0c;都是用过的&#xff0c;但是没有记录&#xff0c;都逐渐忘了。所以写这篇博客总结记录一下&#xff0c;只要以后发现新的用法&#xff0c;就记得来编辑补充一下 perf 比较基础的用法&#xff1a; 先改这…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序

一、开发环境准备 ​​工具安装​​&#xff1a; 下载安装DevEco Studio 4.0&#xff08;支持HarmonyOS 5&#xff09;配置HarmonyOS SDK 5.0确保Node.js版本≥14 ​​项目初始化​​&#xff1a; ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...

C++.OpenGL (10/64)基础光照(Basic Lighting)

基础光照(Basic Lighting) 冯氏光照模型(Phong Lighting Model) #mermaid-svg-GLdskXwWINxNGHso {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-GLdskXwWINxNGHso .error-icon{fill:#552222;}#mermaid-svg-GLd…...

Python如何给视频添加音频和字幕

在Python中&#xff0c;给视频添加音频和字幕可以使用电影文件处理库MoviePy和字幕处理库Subtitles。下面将详细介绍如何使用这些库来实现视频的音频和字幕添加&#xff0c;包括必要的代码示例和详细解释。 环境准备 在开始之前&#xff0c;需要安装以下Python库&#xff1a;…...

网站指纹识别

网站指纹识别 网站的最基本组成&#xff1a;服务器&#xff08;操作系统&#xff09;、中间件&#xff08;web容器&#xff09;、脚本语言、数据厍 为什么要了解这些&#xff1f;举个例子&#xff1a;发现了一个文件读取漏洞&#xff0c;我们需要读/etc/passwd&#xff0c;如…...

回溯算法学习

一、电话号码的字母组合 import java.util.ArrayList; import java.util.List;import javax.management.loading.PrivateClassLoader;public class letterCombinations {private static final String[] KEYPAD {"", //0"", //1"abc", //2"…...

Yolov8 目标检测蒸馏学习记录

yolov8系列模型蒸馏基本流程&#xff0c;代码下载&#xff1a;这里本人提交了一个demo:djdll/Yolov8_Distillation: Yolov8轻量化_蒸馏代码实现 在轻量化模型设计中&#xff0c;**知识蒸馏&#xff08;Knowledge Distillation&#xff09;**被广泛应用&#xff0c;作为提升模型…...

安宝特案例丨Vuzix AR智能眼镜集成专业软件,助力卢森堡医院药房转型,赢得辉瑞创新奖

在Vuzix M400 AR智能眼镜的助力下&#xff0c;卢森堡罗伯特舒曼医院&#xff08;the Robert Schuman Hospitals, HRS&#xff09;凭借在无菌制剂生产流程中引入增强现实技术&#xff08;AR&#xff09;创新项目&#xff0c;荣获了2024年6月7日由卢森堡医院药剂师协会&#xff0…...