蓝桥每日真题
文章平均质量分 54
分享关于蓝桥真题的题解
MangataTS
一个爱折腾的Coder
展开
-
蓝桥杯每日真题之直线
题目来源2021年蓝桥杯省赛题目链接:http://acm.mangata.ltd/p/P1485考点数学、暴力视频讲解思路因为选取的点都是整数坐标的,于是我们最多选取 21×20=42021\times 20 = 42021×20=420 个点,那么对于其中每两个点我们都能选来作为一条直线,但是这样的话可能会存在重复选择一条线,于是我们需要去重处理,那么怎么去重呢?我们知道对于一个直线的标准方程为: Ax+By+C=0Ax+By+C = 0Ax+By+C=0 那么也就是说我们只要确定了 A、原创 2022-04-02 00:11:38 · 817 阅读 · 0 评论 -
蓝桥杯每日真题之货物摆放
题目来源2021年蓝桥杯省赛题目链接:https://www.lanqiao.cn/problems/1463/learning/考点数论、暴力视频讲解思路首先我们不难发现 L、W、HL、W、HL、W、H 都是 nnn 的因子,那么我们就将 nnn 的所有因子全部提取出来,然后我们对这些因子枚举 L、WL、WL、W 即可然后如果我们发现 LLL 和 WWW 的乘积 kkk 仍然是 nnn 的因子的话我们就将这一组(三个元素)数据放进 set 里面就能帮我们去重啦,于是我们最后输出set中元素原创 2022-03-31 21:48:44 · 689 阅读 · 1 评论 -
蓝桥每日真题之小朋友排队
题目来源2014年蓝桥杯省赛题目链接:https://www.lanqiao.cn/problems/222/learning//考点归并 、逆序对、树状数组视频讲解思路这个题目我们可以很明显的和冒泡排序联系起来,我们需要知道对于第 iii 个同学左边有多少个同学( LiL_iLi )的身高是高于他的,右边有多少个同学( RiR_iRi )的升高是低于他的,然后我们会发现对于第 iii 个同学实际上会进行的交换次数就是 (Li+Ri)(L_i + R_i)(Li+Ri) ,又由于前者原创 2022-03-30 22:05:48 · 808 阅读 · 0 评论 -
蓝桥杯每日真题之砝码称重(01背包)
题面来源2021年蓝桥省赛第一场G题题面连接:http://acm.mangata.ltd/p/P1482考点01背包,动态规划视频讲解思路我们定义 f[i][j]f[i][j]f[i][j] 表示的是前 iii 个物品中是否能称出重量为 jjj 的砝码,由于天平是两边都能添加砝码的,于是我们对于右边的来说如果右边的重量大于左边的,我们记为正,反之我们记为负,于是我们对于每一个砝码可以放在左边(权值为负),也可以放在右边(权值为正),也可以不放,那么我们不难得到状态转移:f[i][j]=f[原创 2022-03-24 22:03:26 · 1936 阅读 · 1 评论 -
蓝桥每日真题之时间显示
题目来源2021年蓝桥杯省赛第一场F题题目链接:http://acm.mangata.ltd/p/P1488考点暴力、小技巧视频讲解视频连接:思路因为给出的是一个毫秒值,那么我们要将其转化为秒、分钟、小时,注意的是1s=1000ms,其余的进制都是60,别记错了!,关于补0显示:%02d这样的话如果不满两位数,会自动补上的代码#include<bits/stdc++.h>using namespace std;//----------------自定义部分--------原创 2022-01-23 17:35:25 · 349 阅读 · 0 评论 -
蓝桥每日真题之123
题目来源2021年蓝桥杯国赛F题题目链接:http://acm.mangata.ltd/p/P1505考点前缀和、初中数学视频讲解思路我们可以怎么考虑这个事情呢,我们会发现这个序列就是数量不断上升的一个等差数列,我们只需要预处理出每一段长度的一个和,然后我们求一个区间到[0,R]的一个和,因为我们与处理过,所以这个O(1)就能得出,然后再求一下[0,L-1]的一个区间和,那么我们相减就是我们所需要的答案了,注意的是这里的L和R不一定刚好都是完整区间,所以我们还得处理一下边角的情况,关于前缀和的原创 2022-01-22 17:12:15 · 729 阅读 · 0 评论 -
蓝桥每日真题之完全日期
题目来源2021年蓝桥杯国赛C题题目链接:http://acm.mangata.ltd/p/P1504考点暴力枚举,常识or手数视频讲解视频连接:思路思路一因为从2001年1月1日到2021年12月31日也就二十年,我们直接打开日历手动计数就好啦,肥肠的方便!思路二我们可以通过计算机辅助我们计算,我们开三重循环,分别模拟year、month、day,然后把每一天都拿来计算就好啦,然后要注意的是闰年的2月是29天,不过好在没有这一天是一个完全平方数。代码#include<bit原创 2022-01-21 17:12:45 · 6818 阅读 · 0 评论 -
蓝桥每日真题之小平方
题目来源2021年蓝桥省赛第二场G题题目链接:http://acm.mangata.ltd/p/P1164考点暴力枚举视频讲解视频连接:思路我们只需要从1枚举到n-1,你然后在枚举的过程中计算一下当前位置的平方,然后再对n取模,如果余数是小于n的一半那么我们就记录下来,否则我们就不记录,最后输出我们记录的个数即可代码#include<bits/stdc++.h>using namespace std;//----------------自定义部分-------------原创 2022-01-20 22:35:44 · 773 阅读 · 0 评论 -
蓝桥每日真题之负载均衡
题目来源2021年蓝桥省赛第二场I题题目链接:http://acm.mangata.ltd/p/P1480考点优先队列、模拟视频讲解视频连接:思路因为有n台计算机,所以我们可以开一个数组V,V[i]表示第i台机器的算力大小,考虑到一个任务是在第a[i]时刻开始到a[i]+c[i]结束的,所以我们得想办法记录下来,但是都记录吗?咱们NO,其实每当一个任务来临得时候,我们只需要看看指定的这一台计算机有哪些任务以及结束了,由于a数组(时间)是严格升序的,我们会发现只需要记录下结束的时间即可,我们每原创 2022-01-19 22:36:58 · 715 阅读 · 1 评论 -
蓝桥每日真题之城邦
题目来源2021年蓝桥省赛第二场E题http://acm.mangata.ltd/p/P1104视频讲解思路我们可以单独写一个计算边权的函数,然后将2021×2020/2×22021 \times 2020 / 2 \times 22021×2020/2×2条边放进我们的数组或者容器里面,然后一一判断即可,然后跑一个最小生成树即可,关于计算边权的方法请参考下面的get函数代码#include<bits/stdc++.h>using namespace std;#define l原创 2022-01-18 22:52:35 · 512 阅读 · 0 评论 -
蓝桥每日真题之完全平方数
题目来源2021年蓝桥省赛第二场H题题目链接:http://acm.mangata.ltd/p/P1165视频讲解思路我们来考虑n的情况当n为质数的时候:我们直接返回当前这个数即可当n不是质数的时候:由于我们之前学过的唯一分解定理(学习链接:https://blog.csdn.net/m0_46201544/article/details/122280910 )可以知道一个合数是会被一种最小质数的积的形式的,那么我们只需要判断在这个过程中每一个质数的数量即可,我们只需要给奇数个质数因子再乘上原创 2022-01-17 22:41:09 · 606 阅读 · 0 评论 -
蓝桥每日真题之整数分解
题目来源2021年蓝桥省赛第二场D题题目连接:http://acm.mangata.ltd/p/P1102视频讲解思路思路1这个很容易想到直接使用五重循环去跑,但是这样估计是比赛结束前应该是跑不出来得思路2我们很轻松能想到一个优化那就是去掉一层,因为我们枚举四层后剩下的方案数就是余下的数,但是这也不够,我们再仔细想想会发现我们其实只用三层循环即可,因为剩下的可能数量就为余数减1,那么这样来看我们就能很轻松的解决这个问题思路3使用隔板法,我们将2021看作n个隔板,那么就会有2020个间隔原创 2022-01-16 21:59:17 · 405 阅读 · 0 评论