2024蓝桥杯每日一题(归并排序)
一、第一题:火柴排队


解题思路:归并排序
重点在于想清楚是对哪个数组进行归并排序求逆序对
【Python程序代码】
from math import *
n = int(input())
a = list(map(int,input().split()))
b = list(map(int,input().split()))
na,nb = [],[]
for i in range(n):na.append([a[i],i])nb.append([b[i],i])
na.sort()
nb.sort()
np = [0]*(n+5)
for i in range(n):np[na[i][1]] = nb[i][1]
tep = [0]*(100005)
def merge_sort(q, l, r):if l >= r: return 0mid = (l + r) >> 1res = merge_sort(q, l, mid) + merge_sort(q, mid + 1, r)k, i, j = 0, l, mid + 1while i <= mid and j <= r:if q[i] <= q[j]:tep[k] = q[i]k, i = k + 1, i + 1else:res += mid - i + 1tep[k] = q[j]k, j = k + 1, j + 1while i <= mid:tep[k] = q[i]k, i = k + 1, i + 1while j <= r:tep[k] = q[j]k, j = k + 1, j + 1j = 0for i in range(l, r + 1):q[i] = tep[j]j += 1return res
print( (merge_sort(np,0,n-1))%99999997)
二、第二题: 归并排序

解题思路:归并排序
归并排序模板题
【Python程序代码】
n = int(input())
a = list(map(int,input().split()))
tep = [0]*(n+5)
def merge_sort(q,l,r):if l>=r:returnmid = (l+r)>>1merge_sort(q,l,mid);merge_sort(q,mid+1,r)k,i,j = 0,l,mid+1while i<=mid and j<=r:if q[i]<=q[j]:tep[k] = q[i]k,i=k+1,i+1else:tep[k] = q[j]k,j=k+1,j+1while i<=mid:tep[k]=q[i]k,i=k+1,i+1while j<=r:tep[k]=q[j]k,j=k+1,j+1j = 0for i in range(l,r+1):q[i]=tep[j]j += 1merge_sort(a,0,n-1)
for i in range(n):print(a[i],end=" ")
三、第三题:逆序对的数量

解题思路:归并排序
归并排序求逆序对模板题
【Python程序代码】
n = int(input())
a = list(map(int,input().split()))
tep = [0]*(n+5)
def merge_sort(q,l,r):if l>=r:return 0mid = (l+r)>>1res = merge_sort(q,l,mid)+merge_sort(q,mid+1,r)k,i,j = 0,l,mid+1while i<=mid and j<=r:if q[i]<=q[j]:tep[k] = q[i]k,i=k+1,i+1else:res += mid - i + 1tep[k] = q[j]k,j=k+1,j+1while i<=mid:tep[k]=q[i]k,i=k+1,i+1while j<=r:tep[k]=q[j]k,j=k+1,j+1j = 0for i in range(l,r+1):q[i]=tep[j]j += 1return res
print(merge_sort(a,0,n-1))
四、第四题:小朋友排队

解题思路:归并排序
归并排序求出每个数与其他数组成的逆序对数,然后求和公式累加
【Python程序代码】
n = int(input())
a = list(map(int, input().split()))
q,tep = [],[[0]*2 for _ in range(n+5) ]
for i in range(n):q.append( [a[i],i] )
sum = [0]*(n+5)
def merge(q,l,r):if l>=r:returnmid = (l+r)>>1merge(q,l,mid);merge(q,mid+1,r)k,i,j=0,l,mid+1while i<=mid and j<=r:if q[i][0]<=q[j][0]:tep[k]=q[i]sum[q[i][1]] += j-mid-1k,i = k+1,i+1else:tep[k]=q[j]sum[q[j][1]] += mid-i+1k,j = k+1,j+1while i<=mid:tep[k] = q[i]sum[q[i][1]] += j-mid-1k,i = k+1,i+1while j<=r:tep[k] = q[j]k,j = k+1,j+1j = 0for i in range(l,r+1):q[i]=tep[j]j += 1
merge(q,0,n-1)
res = 0
for i in range(n):res += (sum[i])*(sum[i]+1)//2
print(res)
五、第五题:超快速排序


解题思路:归并排序
归并排序求逆序对模板题
【Python程序代码】
import sys
tep = [0] * (500005)
def merge_sort(q,l,r):if l>=r:return 0mid = (l+r)//2res = merge_sort(q,l,mid) + merge_sort(q,mid+1,r)k,i,j = 0,l,mid+1while i<=mid and j<=r:if q[i]<=q[j]:tep[k]=q[i]k,i = k+1,i+1else:tep[k]=q[j]res += mid-i+1k,j = k+1,j+1while i<=mid:tep[k] = q[i]k,i = k+1,i+1while j<=r:tep[k] = q[j]k,j = k+1,j+1j = 0for i in range(l,r+1):q[i] = tep[j]j += 1return res
n = int(sys.stdin.readline())
while n!=0:a = []for i in range(n):a.append(int(sys.stdin.readline()))print(merge_sort(a,0,n-1))n = int(sys.stdin.readline())相关文章:
2024蓝桥杯每日一题(归并排序)
一、第一题:火柴排队 解题思路:归并排序 重点在于想清楚是对哪个数组进行归并排序求逆序对 【Python程序代码】 from math import * n int(input()) a list(map(int,input().split())) b list(map(int,input().split())) na,nb [],[] for …...
生成对抗网络 (GAN)
生成对抗网络(Generative Adversarial Networks,GAN)是由Ian Goodfellow等人在2014年提出的一种深度学习模型。GAN由两部分组成:一个生成器(Generator)和一个判别器(Discriminator)&…...
QGridLayout网格布局和QVBoxLayout垂直布局有着非常大的差别
QGridLayout网格布局:1.把这块控件划分成一个个的 单元格 2.把你的控件填充进入 单元格 3.这些有关限制大小的函数接口统统失效 setMaximumWidth() setMinimumWidth() setPolicySize()图示:我是用的网格布局,左边放QT…...
HCIA-HarmonyOS设备开发认证V2.0-习题2
目录 习题一习题二坚持就有收获 习题一 # 判断题## 1.PWM占空比指的是低电平时间占周期时间的百分比。(错误)正确(True)错误(False)解题: - PWM占空比指的是高电平时间占周期时间的百分比## 2.UART是通用异步收发传输器,是通用串行数据总线,…...
【npm】前端工程项目配置文件package.json详解
简言 详细介绍了package.json中每个字段的作用。 package.json 本文档将为您介绍 package.json 文件的所有要求。它必须是实际的 JSON,而不仅仅是 JavaScript 对象文字。 如果你要发布你的项目,这是一个特别重要的文件,其中name和version是…...
Python快速入门系列-2(Python的安装与环境设置)
第二章:Python的安装与环境设置 2.1 Python的下载与安装2.1.1 访问Python官网2.1.2 安装Python对于Windows用户对于macOS用户对于Linux用户 2.2 集成开发环境(IDE)的选择与设置2.2.1 PyCharm2.2.2 Visual Studio Code2.2.3 Jupyter Notebook2…...
Linux的环境安装以及项目部署
LInux软件安装 是在发行版是CentOS下安装 通常使用yum安装,可以在rpm上增加了自动解决依赖的功能 传输安装包方式安装JDK与tomcat 安装JDK ●安装包:将.gz文件通过Xftp传输到/opt目录下准备安装 ●解压:进入/opt目录,使用命令tar -zxvf 压缩包名称 (名称…...
ASUS华硕天选2锐龙版笔记本电脑FA506ICB/FA706IC原装出厂Windows11系统,预装OEM系统恢复安装开箱状态
链接:https://pan.baidu.com/s/122iHHEOtNUu4azhVPnxNuA?pwdsqk7 提取码:sqk7 适用型号: FA506IM、FA506IE、FA506IC、FA506IHR FA506IR、FA506IHRB、FA506ICB、FA506IEB FA706IM、FA706IE、FA706IC、FA706IHR FA706IR、FA706IHRB、F…...
登录校验认证
会话技术 会话:用户打开浏览器,访问web服务器的资源,会话建立,直到有一方断开连接,会话结束。在一次会话中可以包含多次请求和响应。 会话跟踪: 一种维护浏览器状态的方法,服务器需要识别多次请…...
Kubernetes 几大概念的作用
更详细的组件通信流程 Kubernetes 主要由以下几个核心组件组成: 1. etcd 保存了整个集群的状态; 2. API Server 提供了资源操作的唯一入口,并提供认证,授权,访问控制,API 注册和发现等机制; …...
力扣199. 二叉树的右视图(DFS,BFS)
Problem: 199. 二叉树的右视图 文章目录 题目描述思路解题方法复杂度Code 题目描述 思路 无论是DFS还是BFS我们都要思考到达二叉树的每一层(或者每一层中的每一个节点)时,我们都该如何按题目要求做出对应得处理!!!在本体中我们主要是&#x…...
[数据集][目标检测]光伏板太阳能版缺陷检测数据集VOC+YOLO格式2400张3类别
数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):2400 标注数量(xml文件个数):2400 标注数量(txt文件个数):2400 标注…...
根据QQ号获取暗恋的人的全部歌单
文章目录 前言一、成果展示二、后端开发流程三、前后端障碍与难点解决四、待扩展内容五、总结 前言 本人喜欢使用QQ音乐听歌,并且喜欢点击好友栏目观看最近在听,了解暗恋的人最近在听什么歌曲,知己知彼,百战不殆。但是每次都需要…...
解决火狐浏览器访问地址受限制问题(This address is restricted)
问题如下图: This address is restrictedThis address uses a network port which is normally used for purposes other than Web browsing. Firefox has canceled the request for your protection. 此地址受到限制 此地址使用通常用于 Web 浏览以外的目的的网…...
基于MPPT的太阳能光伏电池simulink性能仿真,对比扰动观察法,增量电导法,恒定电压法
目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 4.1 扰动观察法 (Perturb and Observe Method) 4.2 增量电导法 (Incremental Conductance Method) 4.3 恒定电压法 (Constant Voltage Method) 5.完整工程文件 1.课题概述 在simulink中,实…...
HUAWEI 华为交换机 配置 MAC 防漂移 防MAC伪造示例
组网需求 某企业网络中,用户需要访问企业的服务器。如果某些非法用户从其他接口假冒服务器的MAC 地址发送报文,则服务器的 MAC 地址将在其他接口学习到。这样用户发往服务器的报文就会发往非法用户,不仅会导致用户与服务器不能正常通信&…...
Java 反射机制实践案例
Java反射机制允许程序在运行时查询和操作对象的类信息,甚至可以调用类的方法、访问字段和创建新的对象。下面通过几个简单的示例来展示Java反射的实践应用。 1. 获取Class对象的引用 有三种主要方式可以在运行时获得Class对象的引用: // 方法1: 通过对…...
OJ:循环队列
622. 设计循环队列 - 力扣(LeetCode) 思路 思路:首先循环队列的意思是:空间固定,就是提前开辟好,满了就不能插入了,但是删除数据后仍有空间,删除循环队列里面的数据后,保…...
专业140+总430+电子科技大学858信号与系统考研经验成电电子信息与通信工程,电科大,真题,大纲,参考书。
今年考研成绩出来,初试专业课858信号与系统140,总分430,其余各门分数都比较平稳,总分好于自己估分,应群里很多同学要求,我总结一下自己的复习经验。首先我是一个大冤种,专业课资料学长给了一套&…...
C++:STL - set map
C:STL - set & map 关联式容器pairset模板参数typedef的类型构造函数迭代器常规接口特殊接口 multisetmap模板参数typedef的类型常规接口特殊接口 multimap 关联式容器 关联式容器是C标准库提供的一种数据结构,用于存储操作键值对(key-v…...
XML Group端口详解
在XML数据映射过程中,经常需要对数据进行分组聚合操作。例如,当处理包含多个物料明细的XML文件时,可能需要将相同物料号的明细归为一组,或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码,增加了开…...
【OSG学习笔记】Day 18: 碰撞检测与物理交互
物理引擎(Physics Engine) 物理引擎 是一种通过计算机模拟物理规律(如力学、碰撞、重力、流体动力学等)的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互,广泛应用于 游戏开发、动画制作、虚…...
CocosCreator 之 JavaScript/TypeScript和Java的相互交互
引擎版本: 3.8.1 语言: JavaScript/TypeScript、C、Java 环境:Window 参考:Java原生反射机制 您好,我是鹤九日! 回顾 在上篇文章中:CocosCreator Android项目接入UnityAds 广告SDK。 我们简单讲…...
Spring Boot+Neo4j知识图谱实战:3步搭建智能关系网络!
一、引言 在数据驱动的背景下,知识图谱凭借其高效的信息组织能力,正逐步成为各行业应用的关键技术。本文聚焦 Spring Boot与Neo4j图数据库的技术结合,探讨知识图谱开发的实现细节,帮助读者掌握该技术栈在实际项目中的落地方法。 …...
C# SqlSugar:依赖注入与仓储模式实践
C# SqlSugar:依赖注入与仓储模式实践 在 C# 的应用开发中,数据库操作是必不可少的环节。为了让数据访问层更加简洁、高效且易于维护,许多开发者会选择成熟的 ORM(对象关系映射)框架,SqlSugar 就是其中备受…...
SpringCloudGateway 自定义局部过滤器
场景: 将所有请求转化为同一路径请求(方便穿网配置)在请求头内标识原来路径,然后在将请求分发给不同服务 AllToOneGatewayFilterFactory import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; impor…...
Angular微前端架构:Module Federation + ngx-build-plus (Webpack)
以下是一个完整的 Angular 微前端示例,其中使用的是 Module Federation 和 npx-build-plus 实现了主应用(Shell)与子应用(Remote)的集成。 🛠️ 项目结构 angular-mf/ ├── shell-app/ # 主应用&…...
【VLNs篇】07:NavRL—在动态环境中学习安全飞行
项目内容论文标题NavRL: 在动态环境中学习安全飞行 (NavRL: Learning Safe Flight in Dynamic Environments)核心问题解决无人机在包含静态和动态障碍物的复杂环境中进行安全、高效自主导航的挑战,克服传统方法和现有强化学习方法的局限性。核心算法基于近端策略优化…...
莫兰迪高级灰总结计划简约商务通用PPT模版
莫兰迪高级灰总结计划简约商务通用PPT模版,莫兰迪调色板清新简约工作汇报PPT模版,莫兰迪时尚风极简设计PPT模版,大学生毕业论文答辩PPT模版,莫兰迪配色总结计划简约商务通用PPT模版,莫兰迪商务汇报PPT模版,…...
比较数据迁移后MySQL数据库和OceanBase数据仓库中的表
设计一个MySQL数据库和OceanBase数据仓库的表数据比较的详细程序流程,两张表是相同的结构,都有整型主键id字段,需要每次从数据库分批取得2000条数据,用于比较,比较操作的同时可以再取2000条数据,等上一次比较完成之后,开始比较,直到比较完所有的数据。比较操作需要比较…...
