蓝桥杯分糖果、最小化战斗力差距、小蓝零花钱

 分糖果

问题描述
最近暑期特训算法班的同学们表现出色,他们的老师肖恩决定给他们分发糖果。肖恩购买了 个不同种类的糖果,用小写的阿拉伯字母表示。每个糖果必须分发给一个同学,并且每个同学至少要分到一个糖果。同学们的开心程度定义为他们所分到的糖果组成的字符串 的字典序。肖恩希望同学们的开心程度相差尽量小,因此他要找到一种方案,使得所有糖果组成的字符串中字典序最大的字符串尽可能小。
请输出能够实现字典序最小可能的max 。

样例输入 

6 2
caabdc 

样例输出 

abccd  

 代码

n, x = map(int, input().split())
s = sorted(input())
if s[0] != s[x - 1]:print(s[x - 1])
elif s[x] == s[-1]:print(''.join(s[0::x]))
else:print(''.join(s[x - 1:]))

 最小化战斗力差距

 问题描述

小蓝是机甲战队的队长,他手下共有 名队员,每名队员都有一个战斗力值 。现在他需要将这 名队友分成两组 和 ,分组必须满足以下条件:

  • 每个队友都属于a 组或b 组。
  • a组和 b组都不为空。
  • 战斗力差距最小。

样例输入

3
1 2 3 

样例输出 

代码 

n = int(input())
a = sorted(map(int, input().split()))
print(min(a[i] - a[i - 1] for i in range(1, n)))

小蓝的零花钱 

问题描述
小蓝和小桥正在玩一个游戏,他们有一个长度为 的序列,其中既有偶数也有奇数,且偶数和奇数的数量相等。小蓝有一些零花钱,他可以用这些钱来做一个特殊的操作:他在序列中选取一个位置,然后在这个位置上将序列分成两段,要求每一段中偶数和奇数的数量都相等。小蓝想要用他的零花钱尽可能多地进行这个操作,但每次操作都需要花费代价。具体而言,每次选取的位置可以看成是对序列进行切割,切割需要花费的代价为切割两端的元素的差的绝对值。小蓝想知道,在他的预算范围内,最多能进行多少次操作。
请你帮助小蓝计算最多可以进行的操作次数。 

样例输入 

6 3
1 2 3 4 5 6 

样例输出 

代码 

n, m = map(int, input().split())
a = list(map(int, input().split()))
cnt = 0
pos_l = []
for i in range(n - 1):cnt += 1 if a[i] % 2 else -1if cnt == 0:pos_l.append(i)
s = sorted(abs(a[i] - a[i + 1]) for i in pos_l)
ans = 0
for i in s:if m - i < 0:breakm -= ians += 1
print(ans)

 希尔排序模板题

问题描述
希尔排序是直接插入排序算法的一种更高效的改进版本,但它是非稳定排序算法。希尔排序是基于插入排序的以下两点性质而提出的改进方法之一:
1. 插入排序在对几乎已经排好序的数据操作时,效果是非常好的。
2. 插入排序一般来说是低效的,因为插入排序每次只能将数据移动一位。 

而通常对于希尔排序中我们选择增量序列为: ,其中 为待排序数组的长度。
现在,给你一个整数数组,要求使用希尔排序算法对它进行排序。

样例输入 

5
5 2 9 1 5 

样例输出 

1 2 5 5 9  

代码 

def shell_sort(a, steps):for step in steps:for i in range(step, len(a)):for j in range(i, step - 1, -step):if a[j] < a[j - step]:a[j], a[j - step] = a[j - step], a[j]else:break
n = int(input())
a = list(map(int, input().split()))
steps = [n // (1 << i) for i in range(n.bit_length())]
shell_sort(a, steps)
print(*a)

 

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

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

相关文章

【百面机器学习】读书笔记(一)

本文系列主要作用就是读书笔记&#xff0c;自己看的话比较杂&#xff0c;没怎么归类过&#xff0c;所以现在跟着这个分类走一遍。本文主要内容为前两章&#xff0c;特征工程和模型评估。 如果我想起一些相关的内容也会做适当的补充&#xff0c;主打就是一个intuition&#xff…

OpenCV书签 #直方图算法的原理与相似图片搜索实验

1. 介绍 直方图算法&#xff08;Image Histogram Algorithm&#xff09; 通过统计图像中各个颜色值的分布情况来提供关于图像颜色特征的信息&#xff0c;它可以用来衡量两张图片在颜色分布上的相似度&#xff0c;进而可以用来进行图像相似度的比较&#xff0c;因此&#xff0c…

电脑录屏软件大比拼,哪个最适合你?

现如今&#xff0c;电脑录屏软件成为了许多用户记录、分享和教学的重要工具。从游戏玩家到专业制作人员&#xff0c;都需要高效的录屏软件。本文将介绍三款优秀的电脑录屏软件&#xff0c;通过详细的步骤和简洁的介绍&#xff0c;帮助用户轻松掌握这些工具的使用方法。 电脑录屏…

附1:k8s服务器初始化

转载说明&#xff1a;如果您喜欢这篇文章并打算转载它&#xff0c;请私信作者取得授权。感谢您喜爱本文&#xff0c;请文明转载&#xff0c;谢谢。 关联文章&#xff1a; 《RKE快速搭建离线k8s集群并用rancher管理界面》 1.创建普通用户sre并赋予sudo权限 # adduser sre # ec…

【动态规划】879. 盈利计划

作者推荐 【动态规划】【广度优先搜索】【状态压缩】847 访问所有节点的最短路径 本文涉及知识点 动态规划汇总 LeetCode879. 盈利计划 集团里有 n 名员工&#xff0c;他们可以完成各种各样的工作创造利润。 第 i 种工作会产生 profit[i] 的利润&#xff0c;它要求 group[…

大模型独立解答30道国际奥数难题,能力接近金牌选手!

谷歌旗下的AI研究机构DeepMind和纽约大学的研究人员联合开发了一个AI模型——AlphaGeometry。 AlphaGeometr是一种神经符号模型,内置了大语言模型和符号推理引擎等功能,主要用于解决各种超难几何数学题&#xff0c;同时可以自动生成易于查看的解题原理。 为了验证AlphaGeomet…

React Router v6 改变页面Title

先说正事再闲聊 1、在路由表加个title字段 2、在index包裹路由 3、在App设置title 闲聊&#xff1a; 看到小黄波浪线了没 就是说默认不支持title字段了 出来的提示&#xff0c; 所以我本来是像下面这样搞的&#xff0c;就是感觉有点难维护&#xff0c;就还是用上面的方法了 …

Linux配置yum源以及基本yum指令

文章目录 一、yum介绍二、什么是软件包三、配置yum源四、一键配置yum源【三步走】五、yum指令搜索软件安装软件卸载软件 六、其他yum指令更新内核更新软件更新指定软件显示所有可更新的软件清单卸载指定包并自动移除依赖包删除软件包&#xff0c;以及软件包数据和配置文件 一、…

c中realloc重新分配大小时,空间增长方式的问题

今天在写leetcodeT15.三数之和的时候遇到了一个比较奇怪的问题&#xff1a; 部分代码&#xff1a; int size 5;//设置初始解的空间为5个 int ** res (int **)malloc(sizeof(int*)*size);//分配size大小的二维数组存结果 ....//检查空间够不够&#xff0c;不够重新分配空间 …

安全 专题

[实践总结] 日志注入问题&#xff08;log4j2&#xff09; [实践总结] Java 防止SQL注入的四种方案 [实践总结] 如何防护 order by 导致的SQL注入 [实践总结] 限制正则表达式匹配次数/时间 防止DoS攻击 [实践总结] java XML解析防止外部实体注入 [Ref] yaml.load的漏洞…

【vue-cli详细介绍】

vue-cli详细介绍 1. vue-cli2. 特点3. 安装Vue CLI4. 创建新项目5. CLI 插件6. GUI界面7. 构建和服务8. 配置9. 结语 1. vue-cli Vue CLI 是一套用于快速开发 Vue.js 应用程序的完整系统&#xff0c;它提供了从项目创建和管理到编码、打包、部署的整个流程的工具&#xff0c;V…

快速上手MyBatis Plus:简化CRUD操作,提高开发效率!

MyBatisPlus 1&#xff0c;MyBatisPlus入门案例与简介1.1 入门案例步骤1:创建数据库及表步骤2:创建SpringBoot工程步骤3:勾选配置使用技术步骤4:pom.xml补全依赖步骤5:添加MP的相关配置信息步骤6:根据数据库表创建实体类步骤7:创建Dao接口步骤8:编写引导类步骤9:编写测试类 1.2…

Redis常见类型及常用命令

目录 常见的数据类型 一、String类型 1、简介 2、常用命令 &#xff08;1&#xff09;新建key &#xff08;2&#xff09;设值取值 ​编辑 &#xff08;3&#xff09;批量操作 &#xff08;4&#xff09;递增递减 3、原子性操作 4、数据结构 二、list类型 1、list常…

Pytest中conftest.py的用法

Pytest中conftest.py的用法 ​ 在官方文档中&#xff0c;描述conftest.py是一个本地插件的文件&#xff0c;简单的说就是在这个文件中编写的方法&#xff0c;可以在其他地方直接进行调用。 注意事项 只能在根目录编写conftest.py 插件加载顺序在搜集用例之前 基础用法 这里…

centos 启动nacos pg版本

背景&#xff1a;支持国产化需求&#xff0c;不再使用mysql 1.修改插件 git clone https://github.com/wuchubuzai2018/nacos-datasource-extend-plugins.git cd nacos-datasource-extend-plugins/nacos-postgresql-datasource-plugin-ext mvn package编译成功后&#xff0c;…

linux设置串口波特率和读取

设置串口波特率(有些串口是需要设置才能输出读取) stty -F /dev/ttyUSB0 raw speed 9600读取串口信息 cat /dev/ttyUSB0java代码读取 import gnu.io.*;import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.Outpu…

原来岳云鹏背后的女人竟然是她?有她,岳云鹏红遍大江南北。

♥ 为方便您进行讨论和分享&#xff0c;同时也为能带给您不一样的参与感。请您在阅读本文之前&#xff0c;点击一下“关注”&#xff0c;非常感谢您的支持&#xff01; 文 |猴哥聊娱乐 编 辑|徐 婷 校 对|侯欢庭 岳云鹏&#xff0c;一个出身于农村的普通孩子&#xff0c;曾经…

python爬虫之协程

1、同步代码&#xff1a; import timedef run(index):print("lucky is a good man", index)time.sleep(2)print("lucky is a nice man", index)for i in range(1, 5):run(i) 运行结果&#xff1a; lucky is a good man 1 lucky is a nice man 1 lucky i…

幻读是什么,用什么隔离级别可以防止幻读?

幻读指的是&#xff0c;在同一个事务中&#xff0c;以同样的条件执行的两次查询&#xff0c;第二次查询查到了第一次查询所没查到的数据。 在mysql的四种隔离级别中&#xff0c;可重复读和串行化两种隔离级别没有幻读问题。那么它们是如何解决幻读问题的呢&#xff1f; 先说串行…

springboot小白入门

创建启动 省略。。。 第二章 springboot接口 本章学习&#xff1a; 1.接口定义 2.接收数据 3.返回数据 RestController注解&#xff0c;相当于ResponseBody &#xff0b; ControllerController负责接收用户的请求ResponseBody把数据写入到HTTP响应体的body部分RequestMappin…