- 博客(7)
- 收藏
- 关注
原创 蓝桥杯练习7——希尔排序
希尔排序(Shell Sort)是插入排序的一种改进版本,也称为“缩小增量排序”。它的原理是将原始数据分成若干子序列,对每个子序列分别进行插入排序,使得数据逐渐变得“基本有序”,最后再对整个数据进行一次插入排序,此时数据已接近有序,插入排序可以快速完成排序工作。使用希尔排序,初始增量设为 9÷2≈。
2025-03-04 16:25:38
376
原创 蓝桥杯练习6——第k个数
①字典序排序的本质是将输入的int看成字符串,依次进行排序 如n=11,从1到11排序,开头为1的数有1,10,11,依次比较这三个,1>10>11,所以字典序为1,10,11 ,再看1-11的数里2开头的只有一个,所以1>10>11>2如此排序.....根据k和子树的大小 共同决定下一步:如果k<=当前前缀的字数大小,则进入该子树,否则跳过并继续处理下一个前缀。输入两个整数 n和 k,(1≤n,k≤10的9次方)(1≤n,k≤10的9次方)。计算子树的大小:对于当前的前缀,计算以该前缀开头的数字的数量。
2025-03-02 19:40:24
718
原创 蓝桥杯练习5——小蓝的零花钱
在 `2` 和 `3` 之间分割,代价为 `1`,分割后的子序列为 `[1, 2]` 和 `[3, 4, 5, 6]`。最后在预算范围内选择分割点:初始化Answer= 0,B=3,遍历cnt列表[1,1]:第一个代价 `1`:B >= 1,执行操作,B -= 1,ans += 1,此时 B = 2,ans = 1。第二个代价 `1`:B >= 1,执行操作,B -= 1,ans += 1,此时 B = 1,`ans = 2。输出一个整数,表示在小蓝的预算范围内,能够进行的最多操作次数。
2025-03-01 19:13:19
474
原创 蓝桥杯练习4——最小化战斗力差距
战斗力差距的计算公式为 ∣max(a)−min(b)∣∣max(a)−min(b)∣,其中 max(a)max(a) 表示 aa 组中战斗力最大的,min(b)min(b) 表示 bb 组中战斗力最小的。小蓝是机甲战队的队长,他手下共有 nn 名队员,每名队员都有一个战斗力值 wiwi。第二行 nn 个整数 w1,w2,w3....wnw1,w2,w3....wn,分别表示每名队友的战斗力值。数据范围保证:2≤n≤1052≤n≤105,1≤wi≤1091≤wi≤109。
2025-03-01 17:24:47
264
原创 蓝桥杯练习3——分糖果
同学们的开心程度定义为他们所分到的糖果组成的字符串 s[i]s[i] 的字典序。请输出能够实现字典序最小可能的 max(s[1],s[2],s[3],...,s[x])max(s[1],s[2],s[3],...,s[x])。因此将我们刚刚分类的x个字符串记为字典序S(x),当最大的字典序S(x)为最小序列时,各糖果之间的差距最小,即求min[max S(x)]。数据保证 1≤n≤106,1≤x≤n,S[i]∈[′a′,′z′]1≤n≤106,1≤x≤n,S[i]∈[′a′,′z′]。
2025-02-28 17:36:38
598
原创 蓝桥杯练习2——洁净数
小明非常不喜欢数字 2,包括那些数位上包含数字 2 的数。如果一个数的数位不包含数字 2,小明将它称为洁净数。输入的第一行包含一个整数 n(1≤n≤106)n(1≤n≤106)。这里的数是从1开始计数,因此实际计数的是a-1个数。请问在整数 1 至 nn 中,洁净数有多少个?输出一行包含一个整数,表示答案。输入:30 输出18。
2025-02-26 18:30:24
165
原创 蓝桥杯练习1
纯暴力计数给定一个单词,请计算这个单词中有多少个元音字母,多少个辅音字母。元音字母包括 a, e, i, o, u,共五个,其他均为辅音字母。
2025-02-26 16:47:06
203
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人