【例题】lanqiao4425 咖啡馆订单系统

在这里插入图片描述
样例输入

3
2
2 1
3
1
2

样例输出

3 2

样例说明
输入的数组为:【3,1,2】
增量序列为:【2,1】

  1. 当增量 h=2:对于每一个索引 i,我们会将数组元素 arr[i] 与 arr[i−h] 进行比较,并进行可能的交换。

    • i=2:
      arr[2]=2,arr[0]=3。因为 2<3,所以交换它们。
      数组变为:[2,1,3]。
      这里进行了 1 次比较和 1 次交换。
      注意:对于 i=0 和 i=1,由于它们的索引小于增量值 2,所以不会进行任何操作。
      这里相当于希尔排序的gap=2
  2. 当增量 h=1:这就是一个普通的插入排序。

    • i=1:arr[1]=1,arr[0]=2。因为 1<2,所以交换它们。
      数组变为:[1,2,3]。
      这里进行了 1 次比较和 1 次交换。
    • i=2:arr[2]=3,arr[1]=2。因为 3>2,所以不交换。
      这里进行了 1 次比较。

总结:总共进行了 3 次比较,2 次交换。

解题思路

这里的订单属性值数组相当于订单大小的a数组

这里的增量数组就相当于是希尔排序里面的gap数组。

用希尔排序模板写代码即可

代码

# 订单数组的长度
n=int(input())
# a表示订单的属性值(大小)
a=[]
# 增量(gap)的长度
m=int(input())
gap=list(map(int,input().split()))
for _ in range(n):a.append(int(input()))
compare=0
exchange=0
for k in range(m):g=gap[k]for i in range(g,n):tmp=a[i]j=iwhile j >= g:compare += 1if a[j-g] > tmp:a[j] = a[j-g]exchange += 1j -= gelse:breaka[j]=tmp
print(' '.join(map(str,[compare,exchange])))

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

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

相关文章

电线电缆制造5G智能工厂物联数字孪生平台,推进制造业数字化转型

电线电缆制造行业作为关键的基础设施建设领域&#xff0c;正积极拥抱新技术&#xff0c;推动生产方式的深刻变革。电线电缆制造5G智能工厂物联数字孪生平台的兴起&#xff0c;不仅为行业注入了新的活力&#xff0c;更为制造业的数字化转型树立了新的标杆。 电线电缆制造5G智能…

es由一个集群迁移到另外一个集群es的数据迁移

迁移es的数据 改下index的索引 就可以了。 查询 用curl -u就可以查询了

Thymeleaf 的创建

pox.xml 文件 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM…

智能除螨仪——NV040D-SOP8语音芯片方案引领除螨仪新时代

随着物联网技术的快速发展&#xff0c;除螨仪作为家庭清洁的重要工具&#xff0c;其智能化、人性化的设计成为提升市场竞争力的关键。置入语音芯片的除螨仪&#xff0c;通过开机提示、工作状态反馈、操作指引、故障提醒等内容。用户可以更加直观地了解除螨仪的工作状态&#xf…

推荐系统-电商直播 多目标排序算法探秘

前言&#xff1a; 电商直播已经成为电商平台流量的主要入口&#xff0c;今天我们一起探讨推荐算法在直播中所面临的核心问题和解决方案。以下内容参考阿里1688的技术方案整理完成。 一、核心问题介绍 在电商网站中&#xff0c;用户的主要行为是在商品上的行为&#xff0c;直播…

node.js 版本管理

在Node.js开发中&#xff0c;版本管理是一个非常重要的环节&#xff0c;特别是当你需要同时维护多个项目&#xff0c;而这些项目又依赖于不同版本的Node.js时。以下是一些常用的Node.js版本管理工具和方法&#xff1a; 1. NVM (Node Version Manager) NVM是Node.js版本管理的…

深度学习:(五)初识神经网络

&#xff08;一&#xff09;神经网络的层数 除去输入层&#xff0c;但包括输出层&#xff0c;每一层都有自己的参数。 输入层称为第零层。 &#xff08;二&#xff09;最简单的神经网络&#xff08;逻辑回归&#xff09; 下图中的小圆圈&#xff0c;代表了一种运算。且一个小…

阿里开源多模态大模型Ovis1.6,重塑出海电商AI格局

阿里开源Ovis1.6&#xff1a;多模态领域再夺第一 阿里再一次证明了自己在多模态领域的实力。这一次&#xff0c;阿里国际AI团队开源的多模态大模型Ovis1.6&#xff0c;不仅成功开源&#xff0c;还在多模态评测基准OpenCompass上击败了Qwen2VL-7B、InternVL2-26B和MiniCPM-V-2.…

Android架构组件: MVVM模式的实战应用与数据绑定技巧

随着Android应用的复杂性增加&#xff0c;开发人员面临代码重用性、可维护性和扩展性问题。为了解决这些问题&#xff0c;谷歌推出了Android架构组件&#xff08;Android Architecture Components&#xff09;&#xff0c;这套框架能帮助构建高效、可维护的应用。MVVM&#xff…

Docker 进入容器并运行命令的方法

目录 理解 Docker 容器的基本概念 使用 docker exec 进入运行中的容器 基本用法 常用选项解析 选项详解 实际案例演示 1. 进入容器的交互式 Shell 2. 在容器中运行单个命令 3. 以指定用户运行命令 4. 设置环境变量并运行命令 5. 指定工作目录 使用 docker attach 附…

标准库标头 <bit>(C++20)学习

<bit>头文件是数值库的一部分。定义用于访问、操作和处理各个位和位序列的函数。例如&#xff0c;有函数可以旋转位、查找连续集或已清除位的数量、查看某个数是否为 2 的整数幂、查找表示数字的最小位数等。 类型 endian (C20) 指示标量类型的端序 (枚举) 函数 bit_ca…

Flask 第十三课 -- 中间件和扩展

目录 一. 前言 二. Flask 中间件 2.1. 请求钩子 2.2. 自定义中间件 三. Flask 扩展 3.1. 常见的 Flask 扩展 3.2. 安装和使用 Flask 扩展 3.3. 创建自定义扩展 一. 前言 在 Flask 中&#xff0c;中间件和扩展是增强和扩展应用功能的两个关键机制。 通过中间件和扩展&…

【云安全】云上攻击路径

一、2022年CSA发布的《云计算的11类顶级威胁》&#xff1a; 1&#xff09;身份、凭据、访问和管理密钥、特权账号管理的不足 2&#xff09;不安全的接口和API 3&#xff09;配置不当和变更控制的不足 4&#xff09;缺乏云安全架构和战略 5&#xff09;不安全的软件开发 6…

通过 Docker 部署 MySQL 服务器

今天&#xff0c;我在三丰云的免费服务器上进行 MySQL 服务器的部署测试。三丰云的免费云服务器配置简洁&#xff0c;1核CPU、1G内存、10G硬盘和5M带宽&#xff0c;虽然是入门级别&#xff0c;但性能相当不错&#xff0c;确实是个不错的免费服务器。作为一个新手开发者或爱好者…

CSS-媒体查询

媒体查询使用 media 规则来定义&#xff0c;并包含一个或多个媒体特性和一个或多个样式规则。基本语法如下&#xff1a; media media-type and (media-feature) {/* 样式规则 */ } 其中&#xff1a; media-type 表示媒体类型&#xff0c;常见的媒体类型包括 all&#xff08;…

使用LangGPT提示词让大模型比较浮点数

使用LangGPT提示词让大模型比较浮点数 背景介绍环境准备创建虚拟环境安装一些必要的库安装其他依赖部署大模型启动图形交互服务设置提示词与测试 LangGPT结构化提示词 背景介绍 LLM在对比浮点数字时表现不佳&#xff0c;经验证&#xff0c;internlm2-chat-1.8b (internlm2-cha…

Java:List<String> 转换List<BigDecimal> 并求和

/*** <b>Function: </b> todo** program: List<String> 转换List<BigDecimal> 并求和* Package: com.kingbal.king.dmp* author: dingcho* date: 2024/09/20* version: 1.0* Copyright: 2024 www.kingbal.com Inc. All rights reserved.*/ Slf4j publi…

HObject复制耗时试用

测试源码一 //第一步const int N 1000;HObject[] imgs new HObject[N];for (int i 0; i < N; i){HOperatorSet.GenImageConst(out imgs[i], "byte", 1024 i, 1024 i);}//第二步List<HObject> lists new List<HObject>();for(int i 0; i < …

使用 uni-app 开发微信小程序的详细指南

使用 uni-app 开发微信小程序的详细指南 前言 随着微信小程序的广泛应用&#xff0c;越来越多的开发者开始关注小程序开发。而 uni-app 是 DCloud 推出的一个使用 Vue.js 开发跨平台应用的框架&#xff0c;不仅支持开发 H5、iOS 和 Android 应用&#xff0c;还可以用于开发微…

微博舆情分析技术文档分享

项目整体介绍&#xff1a;舆情瞭望——基于NLP的网络空间舆情检测分析系统 1. 项目背景与目标 该项目旨在对微博文章及其评论进行文本分析&#xff0c;重点包括情感分析和词频统计。通过对大量用户评论的处理与分析&#xff0c;帮助用户了解公众情绪和话题趋势&#xff0c;特…