python 基础知识点(蓝桥杯python科目个人复习计划34)

今日复习内容:以做题为主

例题1:Alice 和 Bob的爱恨情仇

题目描述:

Alice和Bob最近正在学习博弈论,为了学以致用,他们找来了一大堆的小饼干 ,并通过博弈的方式来吃掉这些小饼干。他们轮流对这些饼干进行操作,操作规则如下:

由Alice先手,每次从一堆小饼干中拿出k^m个小饼干(k为奇数且m >= 0 ,且k^m不能超过这堆小饼干的总数)。

当一方进行完操作后,如果已经没有剩余的小饼干,则该方获胜,赢得所有的小饼干。

Alice和Bob都想赢得所有的小饼干,所以都会以最佳方式来取小饼干,请问他们之中谁能赢得所有的小饼干?

输入格式:

第一行,输入两个正整数n(1 <= n <= 10^6),k(1 <= k <= 10^9),分别表示饼干的堆数和每次取出饼干的底数。

第二行,输入n个整数,表示第i堆中有ai个小饼干(1 <= ai <= 10^6)。

输出格式:

输出一行,包含一个字符串,输出Alice和Bob之间获胜的那个人。

参考答案:

n,k = map(int,input().split())
li = list(map(int,input().split()))
s = 0 # 用来记录有多少个奇数堆饼干
for i in li:s += (i%2)if s % 2:print('Alice')
else:print('Bob')

运行结果:

 例题2:大石头的搬运工

题目描述:

在一款名为“大石头的搬运工”的游戏中,玩家需要操作一排n堆石头,进行n-1轮游戏。

每一轮,玩家可以选择一堆石头,并将其移动到任意位置。

在n-1轮移动结束时,要求将所有的石头移动到一起(即所有石头的位置相同)即为成功。

移动的费用为石头的重量乘以移动的距离。例如:如果一堆重量为2的石头从位置3移动到位置5,那么费用为2 * (5 - 3) = 4。

请计算出所有合法方案中,将所有石头移动到一起的最小费用。

可能有多堆石头在同一个位置上,但是一轮只能选择移动其中一堆。

输入格式:

第一行一个整数n,表示石头的数量。

接下来n行,每行两个整数Wi和Pi,分别表示第i个石头的重量和初始位置。

输出格式:

输出一个整数,表示最小的总移动费用。

参考答案:

import math
n = int(input())
li = []
for i in range(n):li.append(list(map(int,input().split())))
li.sort(key = lambda x:x[1])
pex = [0] # 存放第i个石头之前所有石头移动到这里所需要的费用
nex = [0] # 存放第i个石头之后所有石头移动到这里所需要的费用
s = li[0][0] # 存放第i个石头之前所有石头的重量
s1 = li[-1][0] # 存放第i个石头之后所有石头的重量
for i in range(1,n):pex.append(pex[-1] + s * (li[i][1] - li[i-1][1]))s += li[i][0]
for i in range(n-2,-1,-1):nex.append(nex[-1] + s1 * (li[i+1][1] - li[i][1]))s1 += li[i][0]
nex.reverse()
res = math.inf
for i in range(n):res = min(res,pex[i] + nex[i])
print(res)

运行结果:

例题3:最大数组和

题目描述:

小明是一名勇敢的冒险家,他在一次探险途中发现了一组神秘的宝石,这些宝石的价值都不同。但是,他发现这些宝石会随着时间的推移逐渐失去价值,因此他必须在规定的次数内对它们进行处理。

小明想要最大化这些宝石的总价值。他有两种处理方式:

1.选出两个最小的宝石,并将它们从宝石组中删除。

2.选出最大的宝石,并将其从宝石组中删除。

现在,给你小明手上的宝石组,请你告诉他在规定的次数内,最大化宝石的总价值是多少?

输入描述:

第一行包含一个整数t,表示数据组数。

对于每组数据,第一行包含两个整数n和k,表示宝石的数量和规定的处理次数。

第二行包含n个整数,a1,a2,a3,...an,表示每个宝石的价值。

输出描述:

对于每组数据,输出一个整数,表示在规定的次数内,最大化宝石的总价值。

参考答案:

import math
t = int(input())
for kk in range(t):n,k = map(int,input().split())li = list(map(int,input().split()))li.sort()pex = [0]for i in range(n):pex.append(pex[-1] + li[i])ans = -math.inffor i in range(k+1):ans = max(ans,pex[n-(k-i)] - pex[2*i])print(ans)

运行结果:

例题4:四元组问题

题目描述:

从小学开始,小明就是一个非常喜欢数学的孩子。他喜欢用数学的方式解决各种问题。在他的高中时期,他遇到了一个非常有趣的问题,那就是给定一个长度为n的整数数组nums,判断是否存在四个不同的下标a,b,c,d,使得a < b < c < d,并且nums[d] < nums[c] < nums[a] < nums[b]。

小明非常喜欢这个问题,他决定用数学的方式来解决它。他首先想到了一个非常简单的方法,那就是暴力枚举。他用四个循环来枚举所有可能的下标组合,然后判断是否满足条件。但是这个方法非常耗时,当 n很大时,计算量会非常大。

所以请求你给出一个快速智慧的解决方法。

输入描述:

输入仅两行,第一行包含一个整数n,第二行包含n个整数,其含义如上所示。

输出描述:

输出仅一行,包含一个字符串,YES表示题目存在上面所述的情况,否则输出NO。

参考答案:

import math
n = int(input())
li = list(map(int,input().split()))
a = -math.inf
stack = []
min_r = [math.inf]*n
for i in range(n-2,-1,-1):min_r[i] = min(min_r[i+1],li[i+1])
flag = False
for i in range(n):if li[i] < a and li[i] > min_r[i]:print('YES')flag = Truebreakwhile stack and li[i] > stack[-1]:a = max(a,stack[-1])stack.pop()stack.append(li[i])
if not flag:print('NO')

运行结果:

这次做的题,对我来说有点难,所以我暂时只做了4题,用了整整一天。

这篇就写到这里,题当然要做,但我得先把知识点复习完。下一篇继续!

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

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

相关文章

随机森林超参数的网格优化(机器学习的精华--调参)

随机森林超参数的网格优化&#xff08;机器学习的精华–调参&#xff09; 随机森林各个参数对算法的影响 影响力参数⭐⭐⭐⭐⭐几乎总是具有巨大影响力n_estimators&#xff08;整体学习能力&#xff09;max_depth&#xff08;粗剪枝&#xff09;max_features&#xff08;随机…

mysql学习打卡day22

今日成果&#xff1a; select * from employees where salary > (select avg(salary) from employees); -- 查询超过平均工资的员工select * from clients where client_id not in (select distinct client_id from invoices); -- 查询没有发票的用户 感谢各位读者查阅&…

ASP.NET Core 预防开放式重定向攻击

写在前面 为预防钓鱼网站的常用套路&#xff0c;在进行 Web 应用程序的开发时&#xff0c;原则上应该将所有由用户提交的数据视为不可信。如果应用程序中包含了基于 URL 内容重定向的功能&#xff0c;需要确保这种类型的重定向操作只能在应用本地完成&#xff0c;或者明确判断…

[技术杂谈]如何下载vscode历史版本

网站模板&#xff1a; https://code.visualstudio.com/updates/v1_85 如果你想下载1.84系列可以访问https://code.visualstudio.com/updates/v1_84​​​​​​ 然后看到&#xff1a; 选择对应版本下载即可&#xff0c;我是windows x64系统选择x64即可开始下载

Oracle11g安装配置详细教程

Oracle 11g的安装和配置是一个详尽的过程&#xff0c;涉及多个步骤。以下是基于Oracle 11g R2&#xff08;第二个发布版本&#xff09;在Windows环境下的安装和基本配置的概述。请注意&#xff0c;Oracle 11g在不同的操作系统上的安装步骤可能会有所不同&#xff0c;此处以Wind…

MQTT在linux下服务端和客户端的应用

MQTT&#xff08;Message Queuing Telemetry Transport&#xff09;是一种轻量级、开放标准的消息传输协议&#xff0c;设计用于受限设备和低带宽、不稳定网络的通信。 MQTT的一些关键特点和概念&#xff1a; 发布/订阅模型&#xff1a; MQTT采用发布/订阅&#xff08;Publ…

QCustomplot实现灰度曲线图

从 QCustomplot官网 https://www.qcustomplot.com/index.php/download 下载支持文件。首页有些demo可以进行参考学习。 新建一个Qt工程&#xff0c;将下载得到的qcustomplot.h和qcustomplot.cpp文件加入到当前工程。pro文件中加上 printsupport 在ui界面中&#xff0c;添加一…

云服务器总结

1.服务器重装系后远程连接报错 Host key for xxx.xxx.xxx.xxx has changed and you have requested strict checking. 问题原因 ssh会把你每个你访问过计算机的公钥(public key)都记录在~/.ssh/known_hosts。当下次访问相同计算机时&#xff0c;OpenSSH会核对公钥。如果公钥不…

344. 反转字符串(力扣LeetCode)

文章目录 344. 反转字符串题目描述reverse函数双指针 344. 反转字符串 题目描述 编写一个函数&#xff0c;其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。 不要给另外的数组分配额外的空间&#xff0c;你必须原地修改输入数组、使用 O(1) 的额外空间…

数据库笔记——分析总结聚集索引、非聚集索引和覆盖索引

一、首先深入浅出理解索引结构 来自聚集索引和非聚集索引 实际上我们可以将索引理解为一种目录&#xff0c;索引可分为聚类索引和非聚类索引。   我们的汉语字典的正文本身就是一个聚集索引。比如&#xff0c;我们要查“安”字&#xff0c;就会很自然地翻开字典的前几页&…

【Linux】信号-上

欢迎来到Cefler的博客&#x1f601; &#x1f54c;博客主页&#xff1a;折纸花满衣 &#x1f3e0;个人专栏&#xff1a;题目解析 &#x1f30e;推荐文章&#xff1a;【LeetCode】winter vacation training 目录 &#x1f449;&#x1f3fb;信号的概念与产生jobs命令普通信号和实…

BridgeTower:融合视觉和文本信息的多层语义信息,主打复杂视觉-语言任务

BridgeTower 核心思想子问题1&#xff1a;双塔架构的局限性子问题2&#xff1a;不同层次的语义信息未被充分利用子问题3&#xff1a;模型扩展性和泛化能力 核心思想 论文&#xff1a;https://arxiv.org/pdf/2206.08657.pdf 代码&#xff1a;https://github.com/microsoft/Bri…

大数据概念与术语简介

介绍 大数据是一个总称&#xff0c;用于描述从大型数据集中收集、组织、处理和获取见解所需的非传统策略和技术。虽然处理超出单台计算机的计算能力或存储容量的数据并不是一个新问题&#xff0c;但近年来&#xff0c;这种类型的计算的普及性、规模和价值大大扩展。 在本文中…

K8s之configMap

1. 概述​ 1.1 什么是configMap​ 1.1 什么是configMap configMap是Kubernetes中的一种资源对象&#xff0c;用于存储配置数据。它可以包含键值对&#xff0c;也可以包含来自文件的配置数据。configMap的作用是将配置数据与应用程序的容器分离&#xff0c;使得配置可以在不重…

基于Java SSM框架实现网上租车系统项目【项目源码+论文说明】计算机毕业设计

基于java的SSM框架实现网上租车系统演示 摘要 随着现在网络的快速发展&#xff0c;网上管理系统也逐渐快速发展起来&#xff0c;网上管理模式很快融入到了许多商家的之中&#xff0c;随之就产生了“网上租车系统”&#xff0c;这样就让网上租车系统更加方便简单。 对于本网上…

C 练习实例55-学习使用按位取反~

复习知识点 原码&#xff1a;最高位为符号位&#xff0c;0代表正数&#xff0c;1代表负数 反码&#xff1a;正数的反码与原码一致&#xff0c;负数的反码保持符号位不变&#xff0c;其余的按位取反 补码&#xff1a;正数的补码与原码一致&#xff0c;负数的补码等于其反码加…

JAVA Web 学习(五)Nginx、RPC、JWT

十二、反向代理服务器——Nginx 支持热部署&#xff0c;几乎可以做到 7 * 24 小时不间断运行&#xff0c;即使运行几个月也不需要重新启动&#xff0c;还能在不间断服务的情况下对软件版本进行热更新。性能是 Nginx 最重要的考量&#xff0c;其占用内存少、并发能力强、能支持…

arcpy高德爬取路况信息数据json转shp

最近工作上遇到爬取的高德路况信息数据需要在地图上展示出来&#xff0c;由于json数据不具备直接可视化的能力&#xff0c;又联想到前两个月学习了一点点arcpy的知识&#xff0c;就花了一些时间去写了个代码&#xff0c;毕竟手动处理要了老命了。 1、json文件解读 json文件显…

18. 四数之和(力扣LeetCode)

文章目录 18. 四数之和题目描述双指针 18. 四数之和 题目描述 给你一个由 n 个整数组成的数组 nums &#xff0c;和一个目标值 target 。请你找出并返回满足下述全部条件且不重复的四元组 [nums[a], nums[b], nums[c], nums[d]] &#xff08;若两个四元组元素一一对应&#x…

Log360,引入全新安全与风险管理功能,助力企业积极抵御网络威胁

ManageEngine在其SIEM解决方案中推出了安全与风险管理新功能&#xff0c;企业现在能够更主动地减轻内部攻击和防范入侵。 SIEM 这项新功能为Log360引入了安全与风险管理仪表板&#xff0c;Log360是ManageEngine的统一安全信息与事件管理&#xff08;SIEM&#xff09;解决方案…