- 博客(28)
- 收藏
- 关注
原创 机房——蓝桥杯十三届2022国赛大学B组真题
这题用深搜广搜都能做,不过我更倾向于用广搜,因为广搜能更容易找到目标点。那么是采用结构体存储边还是采用二维数组存储临接矩阵呢?我们注意到n的取值范围为1e5,用二维数组哪怕是bool类型就需要至少1e10Byte的连续空间,这个空间太大了,申请不了,所有不能用二维数组。(悄悄告诉你,其实是可以的申请一个1e4。1e4的二维数组,也能过,大概测试点的n值不会到达1e5,这属于出题人的失误了哈哈哈,他的意思还是想我们用结构体存储边来存储图的)
2024-05-08 20:18:56 534
原创 最大数字——蓝桥杯十三届2022国赛大学B组真题
然后我们用回溯来分别对该位进行加操作和减操作,记录最大值。所有操作如果能使得高位的数字变大必定优先用在高位,因为。然后我们再来分析一下,如何使用这两种操作?
2024-05-08 19:38:22 764
原创 卡牌——蓝桥杯十三届2022国赛大学B组真题
可以想象成一个木桶问题:每张卡牌的a值实际上就是木桶的每一块木板的高度,而d值就是此块木板还能延长的长度,而输入的m就是现有的木料,该问题实际上就是问我应该如何合理使用我有的木料来延长木板使得木桶能装的水的高度最高。众所周知木桶能装的水取决于最短的那块木板,因此要尽量拔高木板的下限。将所有卡牌按照a的大小从小到大依次排列,然后从左到右依次遍历,模拟此过程:若左边牌的牌数比下一张牌的牌数要少,我们要拔高下限,则就要使左边牌的牌数尽可能接近右边的牌数,最好相等,若相等,则继续往下遍历否则退出循环。
2024-05-08 17:35:26 1031
原创 钟表——蓝桥杯十三届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 431
原创 出差——蓝桥杯十三届2022国赛大学B组真题
该题属于枚举类型,遍历所有情况选出符合条件的即可。因为只需要派两个人,因此采用两层循环遍历每一种情况。
2024-05-08 16:32:44 449
原创 2022——蓝桥杯十三届2022国赛大学B组真题
看到这个问题的同学很容易想到用十层循环暴力计算,反正是道填空题,一直算总能算得出来的,还有些同学可能觉得十层循环太恐怖了,写成回溯更简洁一点。所以,根本不可能暴力求出答案。而回溯不可以,我们可以动态规划嘛。(如果不知道什么是限量背包问题,可以看我的这篇博客)。的数量级,而c++代码在平台上运行的速度大概是。但是我们分析一下,这个时间复杂度大概是。级别的,这个数字太恐怖了,要高于。
2024-05-06 10:42:56 1201
原创 7-4 秀恩爱分得快
古人云:秀恩爱,分得快。互联网上每天都有大量人发布大量照片,我们通过分析这些照片,可以分析人与人之间的亲密度。如果一张照片上出现了 K 个人,这些人两两间的亲密度就被定义为 1/K。任意两个人如果同时出现在若干张照片里,他们之间的亲密度就是所有这些同框照片对应的亲密度之和。下面给定一批照片,请你分析一对给定的情侣,看看他们分别有没有亲密度更高的异性朋友?
2024-04-19 19:21:07 412
原创 ID3算法c++实现
ID3算法最核心的思想,就是以信息增益作为分裂属性选取的依据,信息增益表示某个属性能够为分类系统带来多少“信息”,信息越多,则通过该属性对数据集的分类更为准确。样本的天气属性有三个取值分别为:晴、多云、雨,那么可以将该样本集根据这三种取值分成D1,D2,D3,分别计算信息熵Ent(D1),Ent(D2),Ent(D3),那么数据集中天气属性的信息使类D的信息的不确定性减少的程度为。这就是算法的实际意义。通过信息增益我可以知道通过样本的某个属性的判断,能够使得最终判断今天是否适合运动的结果的明确程度。
2024-04-18 23:28:44 1276 2
原创 子串简写——蓝桥杯十四届2023
采用这种方法的时间复杂度为O(nlogn),更加有效,不过要注意的是子串的数量可能撑爆int的范围,需要用long long来存储。寻找长度大于等于k的c1c2串,很容易想到用尺取法。不过这种方法时间复杂度为O(n^2),超时了。
2024-04-11 22:00:59 181 1
原创 岛屿的个数——蓝桥杯十四届2023
这道题还是非常有意思的,需要稍微转一下弯,既然岛屿不好判断,那么我们就判断海洋,然后给他们标记区分开来,然后判断岛屿是否与外海相邻,相邻则为外岛。初看这题有点蒙,不知道如何判断一个岛屿到底是内岛还是外岛,因为同样都是四周环海。陆地不好判断,可以反过来判断海洋。
2024-04-11 20:54:58 192 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 339 1
原创 飞机降落——蓝桥杯十四届2023
看到这种题目的同学很容易最先想到将区间排序然后贪心,但是很可惜这题用贪心做不出来,得用回溯。为什么可以用回溯呢?虽然说回溯也是暴力算法,但是看题目给的条件,T和N都是小于等于10的,这说明顶多也就100架飞机的数据量,然后时间限制给的很宽2.0s,好家伙,这都明示我用回溯了,这不用回溯用什么?
2024-04-11 09:15:11 205 1
原创 冶炼金属——蓝桥杯十四届2023
那么V的最大值一定小于或等于所有对A/B(向下取整)的最大值。这道题属于枚举类型,不过对于枚举的范围是多少呢?
2024-04-10 20:31:32 146 1
原创 串的熵——蓝桥杯十四届2023
有一种方法是用Excel表得出答案,这里我来给出代码实现吧。乍一看这道题挺复杂,但仔细分析公式的我们可以得出结论。因为有精度损失,所以我选择了找最接近答案的那一个。
2024-04-10 19:58:38 851 1
原创 日期统计——蓝桥杯十四届2023
小蓝现在有一个长度为 100 的数组,数组中的每个元素的值都在 0 到 9 的范围之内。数组中的元素从左至右如下所示:现在他想要从这个数组中寻找一些满足以下条件的子序列:子序列的长度为 8;这个子序列可以按照下标顺序组成一个 yyyymmdd 格式的日期,并且要求这个日期是 2023 年中的某一天的日期,例如 20230902,20231223。yyyy 表示年份,mm 表示月份,dd 表示天数,当月份或者天数的长度只有一位时需要一个前导零补充。
2024-04-10 19:01:12 383 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人