蓝桥杯
文章平均质量分 56
历年蓝桥杯真题题解
白丁ग
路漫漫其修远兮,吾将上下而求索。
展开
-
机房——蓝桥杯十三届2022国赛大学B组真题
这题用深搜广搜都能做,不过我更倾向于用广搜,因为广搜能更容易找到目标点。那么是采用结构体存储边还是采用二维数组存储临接矩阵呢?我们注意到n的取值范围为1e5,用二维数组哪怕是bool类型就需要至少1e10Byte的连续空间,这个空间太大了,申请不了,所有不能用二维数组。(悄悄告诉你,其实是可以的申请一个1e4。1e4的二维数组,也能过,大概测试点的n值不会到达1e5,这属于出题人的失误了哈哈哈,他的意思还是想我们用结构体存储边来存储图的)原创 2024-05-08 20:18:56 · 465 阅读 · 0 评论 -
故障——蓝桥杯十三届2022国赛大学B组真题
这道题纯数学,考察贝叶斯公式。原创 2024-05-08 19:46:50 · 429 阅读 · 0 评论 -
最大数字——蓝桥杯十三届2022国赛大学B组真题
然后我们用回溯来分别对该位进行加操作和减操作,记录最大值。所有操作如果能使得高位的数字变大必定优先用在高位,因为。然后我们再来分析一下,如何使用这两种操作?原创 2024-05-08 19:38:22 · 672 阅读 · 0 评论 -
卡牌——蓝桥杯十三届2022国赛大学B组真题
可以想象成一个木桶问题:每张卡牌的a值实际上就是木桶的每一块木板的高度,而d值就是此块木板还能延长的长度,而输入的m就是现有的木料,该问题实际上就是问我应该如何合理使用我有的木料来延长木板使得木桶能装的水的高度最高。众所周知木桶能装的水取决于最短的那块木板,因此要尽量拔高木板的下限。将所有卡牌按照a的大小从小到大依次排列,然后从左到右依次遍历,模拟此过程:若左边牌的牌数比下一张牌的牌数要少,我们要拔高下限,则就要使左边牌的牌数尽可能接近右边的牌数,最好相等,若相等,则继续往下遍历否则退出循环。原创 2024-05-08 17:35:26 · 960 阅读 · 0 评论 -
钟表——蓝桥杯十三届2022国赛大学B组真题
这个问题的关键有两点:1.怎么计算时针,分针,秒针之间的夹角,2.时针,分针,秒针都是匀速运动的,并非跳跃性的。问题1很好解决咱之后再说,我们先考虑问题2,有的同学可能会想这个答案存在很多,比如6:15,此时时针指向6,分针指向3,秒针指向0,满足A=2B,但其实是不存在这种情况的,因为此时分针指向3,时针必定不可能指向6,而是在6的左边,要记住时钟是渐变的而非跃变的。秒针每秒走6度,分钟每10秒走1度,时针每120秒走1度。三层循环遍历时钟,分钟,秒钟的每种情况。原创 2024-05-08 16:55:40 · 371 阅读 · 0 评论 -
出差——蓝桥杯十三届2022国赛大学B组真题
该题属于枚举类型,遍历所有情况选出符合条件的即可。因为只需要派两个人,因此采用两层循环遍历每一种情况。原创 2024-05-08 16:32:44 · 422 阅读 · 0 评论 -
2022——蓝桥杯十三届2022国赛大学B组真题
看到这个问题的同学很容易想到用十层循环暴力计算,反正是道填空题,一直算总能算得出来的,还有些同学可能觉得十层循环太恐怖了,写成回溯更简洁一点。所以,根本不可能暴力求出答案。而回溯不可以,我们可以动态规划嘛。(如果不知道什么是限量背包问题,可以看我的这篇博客)。的数量级,而c++代码在平台上运行的速度大概是。但是我们分析一下,这个时间复杂度大概是。级别的,这个数字太恐怖了,要高于。原创 2024-05-06 10:42:56 · 1132 阅读 · 0 评论 -
子串简写——蓝桥杯十四届2023
采用这种方法的时间复杂度为O(nlogn),更加有效,不过要注意的是子串的数量可能撑爆int的范围,需要用long long来存储。寻找长度大于等于k的c1c2串,很容易想到用尺取法。不过这种方法时间复杂度为O(n^2),超时了。原创 2024-04-11 22:00:59 · 160 阅读 · 1 评论 -
岛屿的个数——蓝桥杯十四届2023
这道题还是非常有意思的,需要稍微转一下弯,既然岛屿不好判断,那么我们就判断海洋,然后给他们标记区分开来,然后判断岛屿是否与外海相邻,相邻则为外岛。初看这题有点蒙,不知道如何判断一个岛屿到底是内岛还是外岛,因为同样都是四周环海。陆地不好判断,可以反过来判断海洋。原创 2024-04-11 20:54:58 · 157 阅读 · 1 评论 -
接龙数列——蓝桥杯十四届2023
每加入一个第i个数Ai,然后在0~i-1个数中找能与Ai对接的最长的接龙子序列,不过这种方法时间复杂度为O(n^2),超时了,这里有一种更为巧妙的方法。我们发现对于首位数字和尾位数字均在 0 ~9范围内,我们可以用dp[i](0<=i<=9)表示末尾数字为i的最长接龙子序列长度。那么由此能得到递推公式,每加入一个数字m,(其中back(m)表示数字m的尾位,front(m)表示数字m的首位),然后给出我们的代码。大致一看,不过是求最长接龙子序列的长度,然后答案就是。同学们很容易想到要去用。原创 2024-04-11 15:27:29 · 316 阅读 · 1 评论 -
飞机降落——蓝桥杯十四届2023
看到这种题目的同学很容易最先想到将区间排序然后贪心,但是很可惜这题用贪心做不出来,得用回溯。为什么可以用回溯呢?虽然说回溯也是暴力算法,但是看题目给的条件,T和N都是小于等于10的,这说明顶多也就100架飞机的数据量,然后时间限制给的很宽2.0s,好家伙,这都明示我用回溯了,这不用回溯用什么?原创 2024-04-11 09:15:11 · 178 阅读 · 1 评论 -
冶炼金属——蓝桥杯十四届2023
那么V的最大值一定小于或等于所有对A/B(向下取整)的最大值。这道题属于枚举类型,不过对于枚举的范围是多少呢?原创 2024-04-10 20:31:32 · 120 阅读 · 1 评论 -
串的熵——蓝桥杯十四届2023
有一种方法是用Excel表得出答案,这里我来给出代码实现吧。乍一看这道题挺复杂,但仔细分析公式的我们可以得出结论。因为有精度损失,所以我选择了找最接近答案的那一个。原创 2024-04-10 19:58:38 · 830 阅读 · 1 评论 -
日期统计——蓝桥杯十四届2023
小蓝现在有一个长度为 100 的数组,数组中的每个元素的值都在 0 到 9 的范围之内。数组中的元素从左至右如下所示:现在他想要从这个数组中寻找一些满足以下条件的子序列:子序列的长度为 8;这个子序列可以按照下标顺序组成一个 yyyymmdd 格式的日期,并且要求这个日期是 2023 年中的某一天的日期,例如 20230902,20231223。yyyy 表示年份,mm 表示月份,dd 表示天数,当月份或者天数的长度只有一位时需要一个前导零补充。原创 2024-04-10 19:01:12 · 354 阅读 · 1 评论