lqb官方题单-速成刷题清单(上) - python版

预计3月5日 Wednesday 前完成
【2025年3月1日,记】题目太简单了,3月3日前完成

在这里插入图片描述
蓝桥杯速成刷题清单(上)
https://www.lanqiao.cn/problems/1216/learning/?problem_list_id=30&page=1
替换题号1216
在这里插入图片描述

目录

  • 进度
    • 题解和碎碎念
      • 1. 排序
        • 题面
        • 小结
        • ac代码
      • 2. 走迷宫
        • 题面
        • 小结
        • ac代码
      • 3. 小明的背包1
        • 题面
        • 小结
        • ac代码
      • 4. 蓝桥公园
        • 题面
        • 小结
        • ac代码
      • 5. 回文判定
        • 题面
        • 小结
        • ac代码
        • 题面
        • 小结
        • ac代码
        • 题面
        • 小结
        • ac代码
        • 题面
        • 小结
        • ac代码
        • 题面
        • 小结
        • ac代码

进度

题解和碎碎念

1. 排序

题面

太容易,快排内置的 sorted()

小结
ac代码
import os
import sys

# 请在此输入您的代码
N = int(input())
line = sys.stdin.readline().strip()

ls = list(map(int, line.split()))
sorted1 = sorted(ls)

sorted2 = sorted(ls, key= lambda x:-x)

print(" ".join(map(str, sorted1)))
print(" ".join(map(str, sorted2)))

2. 走迷宫

题面

太 ez,就一个 DFS,用内置的 queue

小结

python 内置 queue 用法简介

import queue

q = queue.Queue()
q.put((x, y, cnt))  # 放入
(x, y, cnt) = q.get()  # 取出

if q.empty():  # 判断是否为空
	pass

python 内置集合 set() 用法

visited = set()
visited.add((x, y))
if (x, y) in visited:
	pass
	
visited.discard((x, y))  # 从集合中删除元素,若不存在,不报错
removed = visited.pop()  # 随机删一个,并返回,为空时报错
visited.clear()  # 清空整个集合

if len(visited) == 0:
	print("Visited is empty")
ac代码
import os
import sys
import queue

# 请在此输入您的代码
line = sys.stdin.readline().strip()
N, M = map(int, line.split())

matrix = []
for _ in range(N):
    line = sys.stdin.readline().strip()
    ls = list(map(int, line.split()))
    matrix.append(ls)

line = sys.stdin.readline().strip()
xin, yin, xout, yout = map(int, line.split())

xin -= 1
yin -= 1
xout -= 1
yout -= 1

moves = [[-1, 0], [0, -1], [1, 0], [0, 1]]

q = queue.Queue()
q.put((xin, yin, 0))
visited = set()
success = False

while not q.empty() and not success:
    # print(queue.popleft())
    (x, y, cnt) = q.get()
    # print(f'x= {x}, y= {y}, cnt= {cnt}')
    for move in moves:
        x1 = x + move[0]
        y1 = y + move[1]

        if x1 < 0 or x1 >= N or y1 < 0 or y1 >= M or matrix[x1][y1] != 1 or (x1, y1) in visited:
            pass
        else:
            if x1 == xout and y1 == yout:
                print(cnt + 1)
                success = True
                break
            else:
                q.put((x1, y1, cnt + 1))
                visited.add((x1, y1))

if not success:
    print("-1")

3. 小明的背包1

题面

太 ez,最最最基础的 01 背包(当然,我不会啦~

小结

这篇讲的好好(虽然我只学了最基础的 01 背包,难的以后我遇到再学,一定会学的
背包问题详解(01背包,完全背包,多重背包,分组背包)
用二维 dp 记录,核心代码如下

# dp[m][n] 考虑m件物品,在空间不超过n时最大收益
dp = [[0 for _ in range(V + 1)] for _ in range(N + 1)]

for j in range(1, V + 1):
    for i in range(1, N + 1):
        dp[i][j] = dp[i - 1][j]
        if item[i - 1][0] <= j:
            dp[i][j] = max(dp[i - 1][j], dp[i - 1][j - item[i - 1][0]] + item[i - 1][1])

有两个易错点:

  1. 那个 dp 初始化,我最开始不是用的两个 range,后一个是直接 * 。结果就遇到了 python 的 生成多个对同一行列表的引用,而不是独立的列表,这会导致修改其中任何一行时,其他行也会受到影响 debug 好一会…
  2. 忘记了 if 前面那个初始化,wa 了一半测试点…
ac代码
import sys

line = sys.stdin.readline().strip()
N, V = map(int, line.split())

item = []
for _ in range(N):
    line = sys.stdin.readline().strip()
    w, v = map(int, line.split())
    item.append([w, v])

# dp[m][n] 考虑m件物品,在空间不超过n时最大收益
dp = [[0 for _ in range(V + 1)] for _ in range(N + 1)]

for j in range(1, V + 1):
    for i in range(1, N + 1):
        dp[i][j] = dp[i - 1][j]
        if item[i - 1][0] <= j:
            dp[i][j] = max(dp[i - 1][j], dp[i - 1][j - item[i - 1][0]] + item[i - 1][1])

print(dp[N][V])

4. 蓝桥公园

题面

ez,Floyd 模板题,骂骂咧咧,什么破题,故意卡 python 是吧

小结

多源最短通路 Floyd 算法——3个循环,通过中心点更新

# i:中间点,j k:起点 终点
# idx2content:记录路径
for i in range(1, N + 1):
    for j in range(1, N + 1):
        for k in range(1, N + 1):
            if dist[j][k] > dist[j][i] + dist[i][k]:
                dist[j][k] = dist[j][i] + dist[i][k]
                dist[k][j] = dist[j][k]
                idx2content[j][k] = i
                idx2content[k][j] = i

补充 单源最短路径 Dijkstra算法
在这里插入图片描述
讲的很好
补充 最小生成树

# 这个代码不对哈
# 最小不是从 dist_new,应该是 visited 里有的点到外界的最小
idx2content = [float('inf') for _ in range(N + 1)]
while len(visited) != N:
    dist_new = copy.deepcopy(dist[new])
    while True:
        min_value = min(dist_new)
        min_idx = dist_new.index(min_value)
        if min_idx not in visited:
            idx2content[new] = min_idx
            new = min_idx
            visited.add(min_idx)
        dist_new[min_idx] = float('inf')

ps. 笑死了,最开始把最小生成树当成 Floyd 交了,还过了一些数据点

ac代码

5. 回文判定

题面

秒了

小结
ac代码
import sys

line = sys.stdin.readline().strip()
if line == line[::-1]:
    print("Y")
else:
    print("N")

题面
小结
ac代码

题面
小结
ac代码

题面
小结
ac代码

题面
小结
ac代码

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

计算机网络——详解TCP三握四挥

文章目录 前言一、三次握手1.1 三次握手流程1.2 tcp为什么需要三次握手建立连接&#xff1f; 二、四次挥手2.1 四次挥手流程2.2 为什么是四次&#xff0c;不是三次&#xff1f;2.3 为什么要等待2msl&#xff1f;2.4 TCP的保活计时器 前言 TCP和UDP是计算机网络结构中运输层的两…

【AD】3-6 层次原理图

自上而下 1.放置-页面符号&#xff0c;并设置属性 2.放置-端口 可通过如下设置将自动生成关掉 3.放置-添加图纸入口&#xff0c;并创建图纸 自下而上 1.子图的原理图页设计 设计资原理图&#xff0c;复制网络标签&#xff0c;智能粘贴未PORT 2.新建主图原理图 创建框…

C语言【指针篇】(四)

前言&#xff1a;正文1. 字符指针变量2. 数组指针变量2.1 数组指针变量是什么?2.2 数组指针变量怎么初始化 3. 二维数组传参的本质4. 函数指针变量4.1 函数指针变量的创建4.2 函数指针变量的使用4.3 两段有趣的代码4.3.1 typedef关键字 5. 函数指针数组6. 转移表 总结 前言&am…

认识苹果SWIFT语言

Swift 是苹果公司于 2014 年在 WWDC&#xff08;苹果全球开发者大会&#xff09;上发布的一种编程语言&#xff0c;旨在替代 Objective-C&#xff0c;用于开发 iOS、macOS、watchOS 和 tvOS 等苹果平台的应用程序。Swift 的设计目标是结合 C 和 Objective-C 的优点&#xff0c;…

python集合set的常用方法

目录 集合的定义 集合的基础操作 多个集合之间的操作 集合的for循环 集合的定义 集合的基础操作 集合.add(元素) 添加新元素 集合.pop() 从集合中随机取出一个元素 集合.clear() 清空集合 集合.remove(元素) 移除元素 #定义集合,集合自动去重了 set1{"春"…

2019年01月全国POI数据分享(同源历史POI分享系列)

2019年01月全国范围POI数据 2019年01月份全国范围历史POI数据&#xff0c;全国范围所有类别共59336781个POI 2019年01月全国范围POI数据按大类统计 大类代码大类名称2019年01月该类POI数量010000汽车服务1151164020000汽车销售213647030000汽车维修517367040000摩托车服务1800…

简单介绍JVM

1.什么是JVM&#xff1f; JVM就是Java虚拟机【Java Virtual Machine】&#xff0c;简称JVM。主要部分包括类加载子系统&#xff0c;运行时数据区&#xff0c;执行引擎&#xff0c;本地方法库等&#xff0c;接下来我们一一介绍 2.类加载子系统 JVM中运行的就是我们日常写的JA…

关于流水线的理解

还是不太理解&#xff0c;我之前一直以为&#xff0c;对axis总线&#xff0c;每一级的寄存器就像fifo一样&#xff0c;一级一级的分级存储最后一级需要的数据。 像这张图&#xff0c;一开始是在解析axis流形式的数据包&#xff0c;数据包一直都能输入&#xff0c;所以valid一直…

基于PHP和MySQL的用户登录注册系统实现

系统架构 系统采用前后端分离的架构&#xff0c;使用PHP作为后端语言&#xff0c;MySQL作为数据库。以下是系统的整体架构图&#xff1a; 这个架构图展示了系统的三个主要层次&#xff1a; 前端界面层&#xff1a;包含用户交互的三个页面&#xff08;注册、登录和欢迎页面&am…

【湖北省计算机信息系统集成协会主办,多高校支持 | ACM出版,EI检索,往届已见刊检索】第二届边缘计算与并行、分布式计算国际学术会议(ECPDC 2025)

第二届边缘计算与并行、分布式计算国际学术会议&#xff08;ECPDC 2025&#xff09;将于2025年4月11日至13日在中国武汉盛大召开。本次会议旨在为边缘计算、并行计算及分布式计算领域的研究人员、学者和行业专家提供一个高水平的学术交流平台。 随着物联网、云计算和大数据技术…

从零开始用react + tailwindcss + express + mongodb实现一个聊天程序(七) 主题设置

1. 引入daisyUi 我们用的是^4.12.23版本 daisyUI介绍 Install daisyUI as a Tailwind CSS plugin — Tailwind CSS Components ( version 4 update is here ) 切换主题功能我们仿照daisyUI themes — Tailwind CSS Components ( version 5 update is here ) 1.在tailwind.co…

EGO-Planner的无人机视觉选择(yolov5和yolov8)

EGO-Planner的无人机视觉选择&#xff08;yolov5和yolov8&#xff09; 效果 yolov5检测效果 yolov8检测效果 一、YOLOv8 vs YOLOv5&#xff1a;关键差异解析 1. 训练效率&#xff1a;为何YOLOv8更快&#xff1f; 架构轻量化 YOLOv8采用C2f模块&#xff08;Cross Stage Partia…

.net8 使用 license 证书授权案例解析

创建 webapi 项目 使用 .NET CLI 创建一个 ASP.NET Core Web API 应用&#xff0c;并添加指定的 NuGet 包&#xff0c;可以按照以下步骤操作&#xff1a; 创建 ASP.NET Core Web API 项目&#xff1a; dotnet new webapi -n WebAppLicense cd WebAppLicense添加 Standard.Li…

uniapp中使用leaferui使用Canvas绘制复杂异形表格的实现方法

需求&#xff1a; 如下图&#xff0c;要实现左图的样式&#xff0c;先实现框架&#xff0c;文字到时候 往里填就行了&#xff0c;原来的解决方案是想用css,html来实现&#xff0c;发现实现起来蛮麻烦的。我也没找到合适的实现方法&#xff0c;最后换使用canvas来实现&#xff…

支付宝 IoT 设备入门宝典(下)设备经营篇

上篇介绍了支付宝 IoT 设备管理&#xff0c;但除了这些基础功能外&#xff0c;商户还可以利用设备进行一些运营动作&#xff0c;让设备更好的帮助自己&#xff0c;本篇就会以设备经营为中心&#xff0c;介绍常见的设备相关能力和问题解决方案。如果对上篇感兴趣&#xff0c;可以…

Vue学习教程-18Vue单文件组件

文章目录 前言一、单文件组件的构成二、组件引用三、组件的应用举例1.组件实例2.显示结果 前言 Vue 单文件组件&#xff08;又名 *.vue 文件&#xff0c;缩写为 SFC&#xff09;是一种特殊的文件格式&#xff0c;它允许将 Vue 组件的模板、逻辑 与 样式封装在单个文件中。组件…

games101 作业5

题目 光线追踪的核心算法: 1.光线的生成 2.光线与三角的相交 题解 1.光线的生成 如课件中的图所示&#xff1a; image plane 就是 代码中的scene的FrameBuffer。 但是&#xff0c;FrameBuffer 是窗口坐标系中&#xff0c;而光线是世界坐标系中的。所以我们需要将scene中的屏…

正交投影与内积空间:机器学习的几何基础

前言 本文隶属于专栏《机器学习数学通关指南》&#xff0c;该专栏为笔者原创&#xff0c;引用请注明来源&#xff0c;不足和错误之处请在评论区帮忙指出&#xff0c;谢谢&#xff01; 本专栏目录结构和参考文献请见《机器学习数学通关指南》 正文 &#x1f50d; 1. 内积空间的…

Cherry Studio + 火山引擎 构建个人AI智能知识库

&#x1f349;在信息化时代&#xff0c;个人知识库的构建对于提高工作效率、知识管理和信息提取尤为重要。尤其是当这些知识库能结合人工智能来智能化地整理、分类和管理数据时&#xff0c;效果更为显著。我最近尝试通过 Cherry Studio 和 火山引擎 来搭建个人智能知识库&#…

深入浅出数据结构(图)

图 图的逻辑结构定义逻辑结构基本术语&#xff08;提起来脑海有印象就行&#xff09;对比 存储结构&#xff08;邻接矩阵和邻接表&#xff09;铺垫 邻接矩阵透过问题看本质无向图相关有向图相关网图相关 伪代码实现类&#xff08;无向图&#xff09;构造函数&#xff08;伪代码…