蓝桥杯 每日2道真题训练+DFS预备真题 Python

简介: 蓝桥杯 每日2道真题训练+DFS预备真题 Python

距离蓝桥杯62天 快和小郑一起加油


真题训练1:饮料换购 考察>>简单的数学推理


77d027254e854ac9a9c6428737300306.png


这道题不难 分析易知道:实际得到的饮料数=开始拥有的饮料+兑换的饮料


如果开始拥有的饮料n<=2 不可以兑换


否则当n>=3 可以兑换 消耗3可以换1


只需统计兑换次数即可

adc39f2ae2864fafb1d0db80284341cc.png

n=int(input())
s=n
if n<=2:
    print(n)
else:
    count=0
    while s>=3:
        count+=1
        s=(s-3)+1
print(n+count)

真题训练2: 排序 考察>>对冒泡排序的理解


0d4b2bf5d36349c996b495a79b9ba5c3.png

首先 冒泡排序最多次数为n(n-1)/2次 原因如果是完全逆序 第一个需要交换n-1次,第二个需要交换n-2次以此类推最后一个需要交换1次 等差数列求和公式易得上式 (n为元素个数)


分析题意:需要满足交换100次,无重复,小写字母,最短,字典序最小


无重复和小写字母处理容易 即我们只需要考虑无重复的小写字母字符串


交换100次:n=14 最多交换91次 n=15最多交换105次 n=16最多交换120次


所以如果要交换100次 n至少15 由于n为元素个数 并且要求字符串最短即n最小 所以n=15


字典序最小 那么字符串必然由‘a~o’组成 (由于本题默认了冒泡排序升序,以此为准)


那么令s='onmlkjihgfedcba' 冒泡次数为105次


现在问题在于:如何重新排列s使得次数减少5并使得新排列字典序最小


如何理解字典序最小:字符串从左到右每个字母尽可能小


尝试a放到首字母 这样子总次数减少了14次 不可


尝试b 减少了13次 不可


....尝试j 减少了5次 刚好100次!那么现在就要检验这个‘jonmlkihgfedcba’是不是最小的字典序排列 ,即现在从第二个字符开始有没有更小的可能?答案是没有的,因为onmlkihgfedcba是完全逆序的,交换次数为100次 如果更换了,那么就不会是100了 所以第二个字符也是最小的 同理....所有字符的都是对应位置上的最小字符 所以验证正确


DFS:蓝桥杯配套真题 考察>>DFS


由于小郑上面这道题没有做出来 反思自己 是DFS了解不多 所以明天主要以预习DFS为主


那道真题预计明天出炉python解析


相关文章
|
19天前
|
Python
蓝桥杯练习题(一):Python组之入门训练题
这篇文章是关于蓝桥杯Python组的入门训练题,包括Fibonacci数列、圆的面积、序列求和和A+B问题的具体代码实现和样例输出。
83 0
|
19天前
|
存储 机器学习/深度学习 算法
蓝桥杯练习题(三):Python组之算法训练提高综合五十题
蓝桥杯Python编程练习题的集合,涵盖了从基础到提高的多个算法题目及其解答。
33 3
蓝桥杯练习题(三):Python组之算法训练提高综合五十题
|
19天前
|
人工智能 Python
蓝桥杯练习题(四):Python组之历届试题三十题
关于蓝桥杯Python组历届试题的三十个练习题的总结,包括题目描述、输入输出格式、样例输入输出以及部分题目的解题思路和代码实现。
15 0
蓝桥杯练习题(四):Python组之历届试题三十题
|
19天前
|
存储 机器学习/深度学习 算法
蓝桥杯练习题(二):Python组之基础练习三十题
蓝桥杯Python编程练习题的集合,包含了三十个不同难度的编程题目,覆盖了基础语法、数据结构和算法等领域。
15 0
|
25天前
|
算法 Python
逆袭之路!用 Python 玩转图的 DFS 与 BFS,让数据结构难题无处遁形
在数据结构的广袤领域中,图是一种强大而复杂的结构,而深度优先搜索(DFS)和广度优先搜索(BFS)则是遍历图的两把利剑。Python 以其简洁和强大的特性,为我们提供了实现和运用这两种算法的便捷途径。
55 0
|
C++ Python
【蓝桥杯真题】29天备战 Python讲解
【蓝桥杯真题】29天备战 Python讲解
146 1
【蓝桥杯真题】29天备战 Python讲解
|
Python
【蓝桥杯国赛真题】备战24天 Python
【蓝桥杯国赛真题】备战24天 Python
129 0
【蓝桥杯国赛真题】备战24天 Python
|
Python
【蓝桥杯真题】Python备战28天
【蓝桥杯真题】Python备战28天
175 0
【蓝桥杯真题】Python备战28天
|
6天前
|
安全 数据处理 开发者
Python中的多线程编程:从入门到精通
本文将深入探讨Python中的多线程编程,包括其基本原理、应用场景、实现方法以及常见问题和解决方案。通过本文的学习,读者将对Python多线程编程有一个全面的认识,能够在实际项目中灵活运用。
|
6天前
|
弹性计算 安全 小程序
编程之美:Python让你领略浪漫星空下的流星雨奇观
这段代码使用 Python 的 `turtle` 库实现了一个流星雨动画。程序通过创建 `Meteor` 类来生成具有随机属性的流星,包括大小、颜色、位置和速度。在无限循环中,流星不断移动并重新绘制,营造出流星雨的效果。环境需求为 Python 3.11.4 和 PyCharm 2023.2.5。
26 9