【例题】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.xdnf.cn/news/1537790.html

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

相关文章

Qt构建JSON及解析JSON

目录 一.JSON简介 JSON对象 JSON数组 二.Qt中JSON介绍 QJsonvalue Qt中JSON对象 Qt中JSON数组 QJsonDocument 三.Qt构建JSON数组 四.解析JSON数组 一.JSON简介 一般来讲C类和对象在java中是无法直接直接使用的&#xff0c;因为压根就不是一个规则。但是他们在内存中…

我一进门就看见 AI 在啪啪啪狂敲代码

不知道小伙伴们有没有关注到最近又有一个超级火热的 AI 工具&#xff0c;叫做 Cursor AI。 松哥体验了一把&#xff0c;感觉以后能从画页面的桎梏中解脱出来了。 松哥来和小伙伴们演示一下这个工具的玩法。 一 Cursor IDE Cursor 是一款集成了 AI 编程辅助功能的新型 IDE&a…

探索 Python 的火焰:Fire 库的神秘力量

文章目录 &#x1f525; 探索 Python 的火焰&#xff1a;Fire 库的神秘力量第一部分&#xff1a;背景介绍第二部分&#xff1a;Fire 库是什么&#xff1f;第三部分&#xff1a;如何安装 Fire&#xff1f;第四部分&#xff1a;简单库函数使用方法第五部分&#xff1a;场景应用第…

NASA:ATLAS/ICESat-2 L3 A陆地冰高度,版本6

目录 简介 代码 引用 网址推荐 0代码在线构建地图应用 机器学习 ATLAS/ICESat-2 L3A Land Ice Height V006 ATLAS/ICESat-2 L3 A陆地冰高度&#xff0c;版本6 简介 该数据集&#xff08;ATL06&#xff09;提供了地理定位的陆冰表面高度&#xff08;WGS 84椭球面之上&a…

react hooks--useContext

概述 ◼ 在之前的开发中&#xff0c;我们要在组件中使用共享的Context有两种方式&#xff1a;  类组件可以通过 类名.contextType MyContext方式&#xff0c;在类中获取context&#xff1b; 多个Context或者在函数式组件中通过 MyContext.Consumer 方式共享context&…

ThreadX源码:Cortex-A7的tx_thread_irq_nesting_start(嵌套中断开始动作).s汇编代码分析

0 参考资料 Cortex M3权威指南(中文).pdf&#xff08;可以参考ARM指令集用法&#xff09; 1 前言 tx_thread_irq_nesting_start.s是用来实现Cortex-A7 IRQ嵌套中断的开始函数实现的汇编文件。 2 源码分析 源码如下&#xff1a; &#xff11;  IRQ_DISABLE 0x80…

文本多语言 AI 摘要 API 数据接口

文本多语言 AI 摘要 API 数据接口 文本 / 文本摘要 AI 生成文本摘要 AI 处理 / 智能摘要。 1. 产品功能 支持多语言摘要生成&#xff1b;支持长文本处理&#xff1b;基于 AI 模型&#xff0c;持续迭代优化&#xff1b;不存储 PDF 文件&#xff0c;处理完即释放&#xff0c;保…

讲个故事5.0

一、DORL的输入 1.1 训练集 训练集共有两个&#xff0c;分别为dataset_train和train_collector。dataset_train用于训练用户模型&#xff0c;即训练论文图6中的GPM&#xff0c;该训练过程有验证集无测试集&#xff1b;train_collector用于学习策略&#xff0c;即学习论文图6中…

ollama安装(ubuntu20.04)

Ollama是一款开源的自然语言处理工具&#xff0c;它可以帮助开发者快速构建文本处理应用。 ollama官网: https://ollama.ai/ 一、ollama 自动安装 linux统一采用sh脚本安装&#xff0c;一个命令行搞定。 curl -fsSL https://ollama.com/install.sh | sh二、ollama 手动安装 o…

springboot实战学习笔记(2)

目录 1、手动创建springboot工程&#xff0c;选择Maven构建。 2、Maven生成的&#xff0c;可能需要再main目录下new一个resources目录&#xff0c;再在其下目录new一个配置文件。 3、 pom文件中让当前的工程继承父工程依赖&#xff1a;、删去无用依赖。 4、引入后端环境所需要的…

Chainlit集成Langchain并使用通义千问AI知识库高级检索(多重查询)网页对话应用教程

前言 之前写过几篇利用Chainlit集成Langchain和国内通义千问大模型集成的知识库检索增加的网页对话应用的技术文章。文章中关于Langchain的知识库检索只是入门级别的教学&#xff0c;本篇文章针对Langchain的知识库高级检索技术和之前对话应用的代码进行完善。 本次主要改进的…

Flask-JWT-Extended登录验证

1. 介绍 """安装:pip install Flask-JWT-Extended创建对象 初始化与app绑定jwt JWTManager(app) # 初始化JWTManager设置 Cookie 的选项:除了设置 cookie 的名称和值之外&#xff0c;你还可以指定其他的选项&#xff0c;例如&#xff1a;过期时间 (max_age)&…

一款.NET开源的i茅台自动预约小助手

前言 今天大姚给大家分享一款.NET开源、基于WPF实现的i茅台APP接口自动化每日自动预约&#xff08;抢茅台&#xff09;小助手&#xff1a;HyggeImaotai。 项目介绍 该项目通过接口自动化模拟i茅台APP实现每日自动预约茅台酒的功能&#xff0c;软件会在指定时间开始对管理的用…

gh-ost

优质博文&#xff1a;IT-BLOG-CN 一、gh-ost的作用 gh-ost是由Github提供的Online DDL工具&#xff0c;使用binlog代替之前的触发器做异步增量数据同步&#xff0c;从而降低主库负载。 基于触发器的Online DDL工具原理&#xff1a; 【1】根据原表结构执行alter语句&#xff…

leetcode-4. 寻找两个正序数组的中位数

题目描述 给定两个大小分别为 m 和 n 的正序&#xff08;从小到大&#xff09;数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。 算法的时间复杂度应该为 O(log (mn)) 。 示例 1&#xff1a; 输入&#xff1a;nums1 [1,3], nums2 [2] 输出&#xff1a;2.0…

婚礼弹幕上墙阳光正好,爱意正浓,打造一场出圈的唯美婚礼!

原文地址 婚礼现场的弹幕功能可以给整个场景增添温暖和喜庆的氛围。通过手机发送祝福&#xff0c;让亲友可以即时将祝福传达给新人&#xff0c;同时这些祝福以弹幕的形式在大屏幕上滚动展示&#xff0c;增加了现场互动的乐趣。墙上新闻搭配的功能则更加抢眼&#xff0c;不仅可…

基于代理的分布式身份管理方案

目的是使用分布式的联合计算分发去替换掉区块链中原有的类第三方可信中心的证书机制&#xff0c;更加去中心化。 GS-TBK Group Signatures with Time-bound Keys. CS-TBK 算法 Complete subtree With Time-bound Keys&#xff0c;该算法是用来辅助检测用户的签名是否有效&…

LabVIEW提高开发效率技巧----使用快捷键

在LabVIEW的开发过程中&#xff0c;熟练掌握和运用快捷键可以极大地提升工作效率&#xff0c;减少重复性操作所花费的时间。快捷键不仅可以加快编程速度&#xff0c;还能让开发者更加专注于逻辑实现和功能设计。细问问将详细介绍LabVIEW中的常用快捷键&#xff0c;特别是强大的…

【变化检测】基于HANet建筑物(LEVIR-CD)变化检测实战及ONNX推理

主要内容如下&#xff1a; 1、LEVIR-CD数据集介绍及下载 2、运行环境安装 3、HANet模型训练与预测 4、Onnx运行及可视化 运行环境&#xff1a;Python3.8&#xff0c;torch1.12.0cu113&#xff0c;onnxruntime1.19.2【这里装CPU版&#xff0c;GPU版低于1.19.2算子报错】 likyo…

一招解决微软copilot提示:该服务在您所在的地区不可用

随着windows 11的推出很多网友都开始注意到了微软copilot AI助手。科技快速发展当前AI已经是一个家喻户晓的名词了, 尤其是一些之前体验过ai强大功能的用户&#xff0c;对AI更加是爱不释手。虽然win 11 版本已经将copilot集成到系统当中&#xff0c;然后不少网友在想要体验时却…