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

news2024/11/25 10:38:06

今日复习内容:重新学习一下贪心算法

今天做题的时候,想了半天贪心算法,结果没全想出来,所以菜就多练,重新学一下呗。

贪心算法是一种常见的算法范式,通常用于求解最优化过程。在每一步的选择中,贪心算法总是做出当前看起来最优的选择,而不考虑当前选择之后的结果。贪心算法的核心思想是通过局部最优解来寻求全局最优解。

贪心算法具有以下特点:

(1)局部最优性:每一步选择都是局部最优的,即当前情况下的最优选择。

(2)不可回退行:一旦做出了选择,就不会再改变,这意味着贪心算法做出的选择是永久性的,不会考虑后续的情况。

(3)简单高效:贪心算法通常实现简单,执行效率高,适用于解决某些特定类型的问题。

贪心算法通常适用于满足以下条件的问题:

(1)问题可以通过局部最优解达到全局最优解;

(2)问题的求解过程可以划分为一系列步骤,每一步选择都是局部最优的,且当前选择不影响后续步骤的选择;

(3)问题的求解过程不需要回退或者回溯,即一旦做出选择就无需再修改。

实例:

(1)找零问题:给定一定面额的货币,如何用最少的数量的货币来完成找零?贪心算法可以从面额最大的货币开始,逐步选取,直到找零完成。

(2)背包问题:给定一个背包和一组物品,每个物品有自己的价值和重量,如何在背包容量限制下装入尽可能多的价值?如果物品可以分割,可以使用贪心算法按照单位重量的价值从大到小选择物品装入背包。

(3)活动选择问题:给定一系列活动,每个活动都有开始时间和结束时间,同时只能进行一个活动,如何安排活动使得参加的活动数量最多?贪心算法可以按照结束时间从早到晚排序,然后依次选择结束时间最早且与之前活动不冲突的活动。

值得注意的是,贪心算法虽然较简单,但并不是所有问题都适合用贪心算法求解。在某些情况下,贪心算法可能无法得到最优解,或者需要证明才能确保其正确性。因此,在应用贪心算法时,需要谨慎选择问题和验证算法的有效性。

我找了好多题,我觉得多做几个题,应该就OK了。

例题1:答疑

有n位同学同时找老师答疑。每位同学都预先估计了自己答疑的时间。

老师可以安排答疑的顺序,同学们要依次进入老师办公室答疑,一位同学答疑的过程如下:

1.首先进入办公室,编号位i的同学需要si毫秒的时间。

2.然后同学问问题老师解答,编号位i的同学有ai毫秒的时间。

3.答疑完成后,同学很高兴,会在课程群里面发一条消息,需要的时间可以忽略。

4.最后同学收拾东西离开办公室,需要ei毫秒的时间,一般需要10秒,20秒或30秒,即ei取值为10000,20000或30000。

一位同学离开办公室后,紧接着下一位同学就可以进办公室了。

答疑从0时刻开始,老师想合理的安排答疑的顺序,使得同学们在课程群里面发消息的时刻之和最小。

输入描述:

输入第一行包含一个整数n,表示同学的数量;

接下来n行,描述每位同学的时间,其中第i行包含三个整数si,ai,ei,意义如上所述。

其中,1 <= n <= 1000,1 <= si <= 60000,1 <= ai <= 10^6,ei 一定为10000,20000,30000之一。

输出描述:

输出一个整数,表示同学们在课程群里面发消息的时刻之和最小是多少?

分析:我写出前三个同学的情况

第一个同学:sum1(time) = s1 + a1 + e1

第二个同学:sum2(time) = s2 + a2 + s1 + a1 + e1

第三个同学:sum3(time) = s3 + a3 + s2 + a2 + e2 + s1 + a1 + e1

我们要求的是s1 + a1 + e1 ,s2 + a2 + e2,s3 + a3 + e3谁最小

参考答案:

n = int(input())
ls = []
for i in range(n):
    ls.append(list(map(int, input().split())))
count = 0
t = 0
ls.sort(key=lambda x: sum(x))

for i in range(n):
    t += sum(ls[i])
    count += t - ls[i][-1]

print(count)

运行结果:

例题2:重复字符串

题目描述:

如果一个字符串s恰好可以由某个字符串重复k次得到,我们就称s是k次重复字符串。例如abcabcabc可以看作abc重复3次得到,所以abcabcabc是3次重复字符串。

同理,aaaaaa既是2次重复字符串,又是3次重复字符串和6次重复字符串。

现在给定一个字符串s,请你判断至少要修改其中几个字符串,可以使s变成一个k次字符串?

输入描述:

输入第一行包含一个整数k;

第二行包含一个只含小写字母的字符串s。

其中,1 <= k <= 10^5,1<= |s| <= 10^5,其中|s|表示s的长度。

输出描述:

输出一个整数代表答案,如果s无法修改成k次字符串,就输出-1。

参考答案:

k = int(input())
s = input()
l = len(s) // k
num = 0
for i in range(l):
  ls = s[i:len(s):l]
  lis = {}
  for i in ls:
    lis[i] = lis.get(i,0) + 1
  lis = sorted(lis.items(),key = lambda x:x[1])
  for i,j in lis[:-1]:
    num += j
print(num)

OK,我做不下去了,这篇就这样吧,下一篇继续!

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

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

相关文章

python学习24

前言&#xff1a;相信看到这篇文章的小伙伴都或多或少有一些编程基础&#xff0c;懂得一些linux的基本命令了吧&#xff0c;本篇文章将带领大家服务器如何部署一个使用django框架开发的一个网站进行云服务器端的部署。 文章使用到的的工具 Python&#xff1a;一种编程语言&…

光芒绽放:妙用“GLAD原则”打造标准的数据可视化图表

光芒绽放&#xff1a;妙用“GLAD原则”打造标准的数据可视化图表 文章目录 光芒绽放&#xff1a;妙用“GLAD原则”打造标准的数据可视化图表前言一、可视化工具有哪些&#xff1f;二、那如何做出正确可视化图表 &#xff1f;GLAD原则1.G原则2.L原则3.A原则4.D原则 三、总结最后…

AliOS编译三方库

文章目录 1、官网教程2、编译NDK2.1 下载ndk2.2 编译环境准备2.3 安装ndk 3 cmake交叉编译3.1 编译工具链3.2 编译三方库 4 自带编译配置文件的交叉编译 1、官网教程 AliOS开发官网链接&#xff1a;AliOS开发者官网 应用开发下NDK开发有相关NDK开发介绍 2、编译NDK 2.1 下载…

优思学院|六西格玛到底有没有用?

有很多人说&#xff0c;我的企业已经是行业的顶峰&#xff0c;不需要做些什么了&#xff0c;更不需要什么六西格玛。如果你这样想就大错特错了。历史上不乏因自满而错失发展机遇&#xff0c;最终被竞争对手超越的案例。 诺基亚&#xff08;Nokia&#xff09;&#xff0c;曾经的…

102.网游逆向分析与插件开发-网络通信封包解析-解读喊话道具数据包并且利用Net发送

内容参考于&#xff1a;易道云信息技术研究院VIP课 上一个内容&#xff1a;解读聊天数据包并且利用Net发送 码云地址&#xff08;游戏窗口化助手 分支&#xff09;&#xff1a;https://gitee.com/dye_your_fingers/sro_-ex.git 码云版本号&#xff1a;cc6370dc5ca6b0176aafc…

【web | CTF】BUUCTF [BJDCTF2020]Easy MD5

天命&#xff1a;好像也挺实用的题目&#xff0c;也是比较经典吧 天命&#xff1a;把php的MD5漏洞都玩了一遍 第一关&#xff1a;MD5绕过 先声明一下&#xff1a;这题的MD5是php&#xff0c;不是mysql的MD5&#xff0c;把我搞迷糊了 一进来题目啥也没有&#xff0c;那么就要看…

P1498 南蛮图腾题解

题目 给定一个正整数n&#xff0c;参考输出样例&#xff0c;输出图形。 输入输出格式 输入格式 每个数据输入一个正整数n&#xff0c;表示图腾的大小&#xff08;此大小非彼大小&#xff09; 输出格式 这个大小的图腾 输入输出样例 输入样例 2 输出样例 /\/__\/\ /\…

前端秘法基础式(CSS)(第一卷)

一.认识CSS CSS 指的是层叠样式表&#xff08;Cascading Style Sheets&#xff09;&#xff0c;它是一种用于描述网页外观和布局的语法 CSS 可以定义网页中元素的字体、颜色、大小、位置、背景等样式&#xff0c;使网页具有美观的外观和统 一的风格。 通过将 CSS 样式表与 HTML…

成员方法传参机制

一、成员方法传参机制 1、值传递&#xff1a;形参改变不影响实参 2、地址传递&#xff1a;形参改变影响实参

wordpress外贸成品网站模板

首页大图slider轮播&#xff0c;橙色风格的wordpress外贸网站模板 https://www.zhanyes.com/waimao/6250.html 蓝色经典风格的wordpress外贸建站模板 https://www.zhanyes.com/waimao/6263.html

NetMizer 日志管理系统 多处前台RCE漏洞复现

0x01 产品简介 NetMizer是提供集成应用交付和应用安全解决方案以实现业务智能网络的优秀全球供应商,为全球企业和运营商提供确保关键业务应用的全面可用性、高性能和完善的安全性的解决方案。 0x02 漏洞概述 NetMizer 日志管理系统position.php、hostdelay.php、等接口处存在…

【动态规划初识】不同的二叉搜索树

每日一道算法题之不同二叉搜索树个数 一、题目描述二、思路三、C++代码一、题目描述 题目来源:LeetCode 给你一个整数 n ,求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种?返回满足题意的二叉搜索树的种数。 C++程序要求输入输出格式如下: 示例1:…

Gartner指引:四大误区大揭秘,打造高效安全管理体系

安全管理体系是一个复杂的生态系统&#xff0c;定义了企业的关键信息、安全原则、资源和活动&#xff08;见图1&#xff09;。企业机构所构建和运行的安全体系往往难以既对员工实用&#xff0c;又能有效管理快速发展的数字风险。因此&#xff0c;首席信息官&#xff08;CIO&…

2024.2.16日总结(小程序开发8)

数据监听器 监听对象属性的变化 数据监听器支持监听对象中单个或多个属性的变化 纯数据字段 什么是纯数据字段 纯数据字段指的是哪些不用于页面渲染的data字段 应用场景:例如有些情况下&#xff0c;某些 data 中的字段既不会展示在界面上&#xff0c;也不会传递给其他组件…

《Go 简易速速上手小册》第1章:Go 语言基础(2024 最新版)

文章目录 1.1 Go 语言的安装与环境配置1.1.1 基础知识讲解案例 Demo&#xff1a;简单的 Go 程序 1.1.2 重点案例&#xff1a;搭建一个 Go Web 服务准备工作步骤 1&#xff1a;创建项目目录步骤 2&#xff1a;编写 Web 服务代码步骤 3&#xff1a;运行你的 Web 服务步骤 4&#…

[word] 手把手教您在word中添加mathtype加载项 #笔记#职场发展

手把手教您在word中添加mathtype加载项 mathtype安装完成后&#xff0c;正常情况下会在word文档中的菜单中自动添加mathtype加载项&#xff0c;但有时也会出现小意外&#xff0c;mathtype并没有加载到word文档中&#xff0c;本教程将教您解决如何手动添加mathtype加载项。 原…

Springboot的it职业生涯规划系统(有报告)。Javaee项目,springboot项目。

演示视频&#xff1a; Springboot的it职业生涯规划系统&#xff08;有报告&#xff09;。Javaee项目&#xff0c;springboot项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结构&a…

【上海游戏业:创新与商业的结合】

上海游戏业&#xff1a;创新与商业的结合 我国游戏产业在近年来蓬勃发展&#xff0c;不同城市都涌现出许多优秀的游戏公司。为全面了解中国游戏业的发展情况及地区特色&#xff0c;本文选择分析游戏业较为发达的上海、广州、北京、深圳、成都、杭州、福建七个城市。这些城市在…

AI使用 G-API 实现面部美化算法

介绍 在本教程中&#xff0c;您将学习&#xff1a; 示例面部美化算法的基础知识; 如何使用 G-API 推断管道内的不同网络; 如何在视频流上运行 G-API 管道。 先决条件 此示例需要&#xff1a; 装有 GNU/Linux 或 Microsoft Windows 的 PC&#xff08;支持 Apple macOS&#xf…

Windows下体验Stable Diffusion 近距离感受AI魔法绘画

🌹作者主页:青花锁 🌹简介:Java领域优质创作者🏆、Java微服务架构公号作者😄 🌹简历模板、学习资料、面试题库、技术互助 🌹文末获取联系方式 📝 往期专栏回顾 专栏描述Java项目实战介绍Java组件安装、使用;手写框架等Aws服务器实战Aws Linux服务器上操作ngin…