【Python蓝桥杯备赛宝典】

news2025/2/1 23:38:08

文章目录

  • 一、基础数据结构
    • 1.1 链表
    • 1.2 队列
    • 1.3 栈
    • 1.4 二叉树
    • 1.5 堆
  • 二、基本算法
    • 2.1 算法复杂度
    • 2.2 尺取法
    • 2.3 二分法
    • 2.4 三分法
    • 2.5 倍增法和ST算法
    • 2.6 前缀和与差分
    • 2.7 离散化
    • 2.8 排序与排列
    • 2.9 分治法
    • 2.10贪心法
      • 1.接水时间最短问题
      • 2.糖果数量有限问题
      • 3.分发时间最短问题
      • 4.采摘苹果最多问题
  • 三、搜索
    • 3.1 BFS和DFS基础
    • 3.2 剪枝
    • 3.3 洪水填充
    • 3.4 BFS与最短路径
    • 3.5 双向广搜
    • 3.6 BFS和优先队列
      • 知识预备:
      • 1. 全球变暖问题
    • 3.7BFS与双端队列
  • 四、高级数据结构
    • 4.1 并查集
    • 4.2 树状数组
    • 4.3 线段树
    • *4.4 可持久化线段树
    • *4.5 分块与莫队算法
      • 1.连连看问题
    • *4.6 块状链表
    • *4.7 简单树上问题
    • *4.8 LCA
  • 五、动态规划
    • 5.1 DP概念和编程方法
    • 5.2 经典线性DP问题
    • 5.3 数位统计DP
    • 5.4 压缩状态DP
      • 1.松散子序列
    • 5.5 区间DP
    • *5.6 树形DP
    • 5.7 一般优化
    • 5.8 单调队列优化

一、基础数据结构

1.1 链表

1.2 队列

1.3 栈

1.4 二叉树

1.5 堆

二、基本算法

2.1 算法复杂度

2.2 尺取法

2.3 二分法

2.4 三分法

2.5 倍增法和ST算法

2.6 前缀和与差分

2.7 离散化

2.8 排序与排列

2.9 分治法

2.10贪心法

1.接水时间最短问题

题目描述
有n个人在一个水龙头前排队接水,假如每个人接水的时问为T,请编程找出这n个人排队的一种顺序
使得n个人的平均等待时间最小。
输入格式
第一行为一个整数n。
第二行n个整数,第i个整数T表示第i个人的接水时间T
输出格式
输出文件有两行,第一行为一种平均时间最短的排队顺序:第二行为这种排列方案下的平均等待时间(输出结果精确到小数点后两位)。

说明/提示
1≤n≤1000.1≤t≤10,不保证t不重复
代码展现

n=int(input())
b=list(map(int,input().split()))
c=[]
for i in range(n):
	c.append([i+1,b[i]])
	c.sort(key=lambda x:x[1])
ans=0
for i in range(n):
	if(i!=n-1):
		print(c[i][0],end='')
	else:
		print(c[i][0])
for i in range(n):
	ans+=c[i][1]*(n-i-1)
ans/=n
print(f"{
     ans:.2f}")


2.糖果数量有限问题

题目描述
小A有n个糖果盒,第i个盒中有Ai颗糖果,小A每次可以从其中一盒糖果中吃掉一颗,他想知道,要让任意两个相邻的盒子中的糖果个数之和都不大于x,至少得吃掉几颗糖。
输入格式
输入的第一行是两个用空格隔开的整数,代表糖果盒的个数n和给定的参数x。
第二行有n个用空格隔开的整数,第i个整数代表第i盒糖的糖果个数Ai。
输出格式
输出一行一个整数,代表最少要吃掉的糖果的数量,
思路提醒
此处的贪心策略考虑到的是先不考虑相邻糖盒的糖果数量差异极端的情况,也就是左边很多,右边为零,或右边被吃完后为负的情况,之后再通过if-else结构把这种情况考虑到。
代码展现

n,x=map(int,input().split())
a=list(map(int,input().split()))
ans=0
for i in range(n-1):
	if(a[i]+a[i+1]>x):
		temp=a[i]+a[i+1]-x
		ans+=temp
		if(a[

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

前端js高级25.1.30

原型:函数的组成结构 通过这个图我们需要知道。 假设我们创建了一个Foo函数。 规则:Function.protoType是函数显示原型。__proto__是隐式对象。 Function、Object、Foo函数的__proto__指向了Function.protoType说明。这三个都依托function函数来创建。…

【后端开发】字节跳动青训营之性能分析工具pprof

性能分析工具pprof 一、测试程序介绍二、pprof工具安装与使用2.1 pprof工具安装2.2 pprof工具使用 资料链接: 项目代码链接实验指南pprof使用指南 一、测试程序介绍 package mainimport ("log""net/http"_ "net/http/pprof" // 自…

云原生(五十二) | DataGrip软件使用

文章目录 DataGrip软件使用 一、DataGrip基本使用 二、软件界面介绍 三、附件文件夹到项目中 四、DataGrip设置 五、SQL执行快捷键 DataGrip软件使用 一、DataGrip基本使用 1. 软件界面介绍 2. 附加文件夹到项目中【重要】 3. DataGrip配置 快捷键使用:C…

FreeRTOS学习 --- 任务调度

开启任务调度器 作用:用于启动任务调度器,任务调度器启动后, FreeRTOS 便会开始进行任务调度 该函数内部实现,如下: 1、创建空闲任务(优先级最低) 2、如果使能软件定时器,则创建定…

2025年人工智能技术:Prompt与Agent的发展趋势与机遇

文章目录 一、Prompt与Agent的定义与区别(一)定义(二)区别二、2025年Prompt与Agent的应用场景(一)Prompt的应用场景(二)Agent的应用场景三、2025年Prompt与Agent的适合群体(一)Prompt适合的群体(二)Agent适合的群体四、2025年Prompt与Agent的发展机遇(一)Prompt的…

区块链 智能合约安全 | 回滚攻击

视频教程在我主页简介和专栏里 目录: 智能合约安全 回滚攻击 总结 智能合约安全 回滚攻击 回滚攻击的本质是”耍赖” 举一个简单的例子,两个人玩石头剪刀布,输了的给对方10块钱,现在A输了,A说这把不算,重来 放在Solidity中,require()函数会检测其中的条件是否满…

【JavaEE进阶】图书管理系统 - 壹

目录 🌲序言 🌴前端代码的引入 🎋约定前后端交互接口 🚩接口定义 🍃后端服务器代码实现 🚩登录接口 🚩图书列表接口 🎄前端代码实现 🚩登录页面 🚩…

TensorFlow 简单的二分类神经网络的训练和应用流程

展示了一个简单的二分类神经网络的训练和应用流程。主要步骤包括: 1. 数据准备与预处理 2. 构建模型 3. 编译模型 4. 训练模型 5. 评估模型 6. 模型应用与部署 加载和应用已训练的模型 1. 数据准备与预处理 在本例中,数据准备是通过两个 Numpy 数…

docker安装Redis:docker离线安装Redis、docker在线安装Redis、Redis镜像下载、Redis配置、Redis命令

一、镜像下载 1、在线下载 在一台能连外网的linux上执行docker镜像拉取命令 docker pull redis:7.4.0 2、离线包下载 两种方式: 方式一: -)在一台能连外网的linux上安装docker执行第一步的命令下载镜像 -)导出 # 导出镜像…

Retrieval-Augmented Generation for Large Language Models: A Survey——(1)Overview

Retrieval-Augmented Generation for Large Language Models: A Survey——(1)Overview 文章目录 Retrieval-Augmented Generation for Large Language Models: A Survey——(1)Overview1. Introduction&Abstract1. LLM面临的问题2. RAG核心三要素3. RAG taxonomy 2. Overv…

LabVIEW透镜多参数自动检测系统

在现代制造业中,提升产品质量检测的自动化水平是提高生产效率和准确性的关键。本文介绍了一个基于LabVIEW的透镜多参数自动检测系统,该系统能够在单一工位上完成透镜的多项质量参数检测,并实现透镜的自动搬运与分选,极大地提升了检…

什么是Maxscript?为什么要学习Maxscript?

MAXScript是Autodesk 3ds Max的内置脚本语言,它是一种与3dsMax对话并使3dsMax执行某些操作的编程语言。它是一种脚本语言,这意味着您不需要编译代码即可运行。通过使用一系列基于文本的命令而不是使用UI操作,您可以完成许多使用UI操作无法完成的任务。 Maxscript是一种专有…

Redis|前言

文章目录 什么是 Redis?Redis 主流功能与应用 什么是 Redis? Redis,Remote Dictionary Server(远程字典服务器)。Redis 是完全开源的,使用 ANSIC 语言编写,遵守 BSD 协议,是一个高性…

LeetCode:63. 不同路径 II

跟着carl学算法,本系列博客仅做个人记录,建议大家都去看carl本人的博客,写的真的很好的! 代码随想录 LeetCode:63. 不同路径 II 给定一个 m x n 的整数数组 grid。一个机器人初始位于 左上角(即 grid[0][0]…

Redis-布隆过滤器

文章目录 布隆过滤器的特点:实践布隆过滤器应用 布隆过滤器的特点: 就可以把布隆过滤器理解为一个set集合,我们可以通过add往里面添加元素,通过contains来判断是否包含某个元素。 布隆过滤器是一个很长的二进制向量和一系列随机映射函数。 可以用来检索…

【视频+图文详解】HTML基础3-html常用标签

图文教程 html常用标签 常用标签 1. 文档结构 <!DOCTYPE html>&#xff1a;声明HTML文档类型。<html>&#xff1a;定义HTML文档的根元素。<head>&#xff1a;定义文档头部&#xff0c;包含元数据。<title>&#xff1a;设置网页标题&#xff0c;浏览…

【B站保姆级视频教程:Jetson配置YOLOv11环境(五)Miniconda安装与配置】

Jetson配置YOLOv11环境&#xff08;5&#xff09;Miniconda安装与配置 文章目录 0. Anaconda vs Miniconda in Jetson1. 下载Miniconda32. 安装Miniconda33. 换源3.1 conda 换源3.2 pip 换源 4. 创建环境5. 设置默认启动环境 0. Anaconda vs Miniconda in Jetson Jetson 设备资…

【PLL】杂散生成和调制

时钟生成 --》 数字系统 --》峰值抖动频率生成 --》无线系统 --》 频谱纯度、 周期信号的相位不确定性 随机抖动&#xff08;random jitter, RJ&#xff09;确定性抖动&#xff08;deterministic jitter,DJ&#xff09; 时域频域随机抖动积分相位噪声确定性抖动边带 杂散生成和…

游戏引擎 Unity - Unity 启动(下载 Unity Editor、生成 Unity Personal Edition 许可证)

Unity Unity 首次发布于 2005 年&#xff0c;属于 Unity Technologies Unity 使用的开发技术有&#xff1a;C# Unity 的适用平台&#xff1a;PC、主机、移动设备、VR / AR、Web 等 Unity 的适用领域&#xff1a;开发中等画质中小型项目 Unity 适合初学者或需要快速上手的开…

【C++动态规划 离散化】1626. 无矛盾的最佳球队|2027

本文涉及知识点 C动态规划 离散化 LeetCode1626. 无矛盾的最佳球队 假设你是球队的经理。对于即将到来的锦标赛&#xff0c;你想组合一支总体得分最高的球队。球队的得分是球队中所有球员的分数 总和 。 然而&#xff0c;球队中的矛盾会限制球员的发挥&#xff0c;所以必须选…