蓝桥杯C++组
文章平均质量分 71
羽晨同学
自己的人生由自己做主,加油
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
蓝桥杯每日一题----海底高铁
其实解题思路蛮简单的,我们只要找到每个城市去的次数,再加上每段路程最小的花费,就是总的最小的花费。在这道题来说,主要使用的想法就是使用一维的差分数组,这道题中有两个买票的策略。比如说,从1,3,那么可以设为1为L,3为R。K为1,当中的路径每个+1.一种是,直接买票,另外一种是买IC卡并买带有优惠的票。而我们在获取每段路程的次数上,就可以使用差分的方式。好了,今天的内容就到这里,我们明天再见。P3406 海底高铁 - 洛谷。原创 2025-03-21 21:51:57 · 545 阅读 · 0 评论 -
蓝桥杯每日一题----一维差分
所谓的差分,就是我们创建一个差分数组,然后存放每个元素和前面一个元素的差值,所以,当我们从L,到R中每个元素都+K的时候,那么差分数字的L就会+K,然后R+1就会-K,其余保持不变。比如说,在我们这道题当中,我们可以看到的是,所以,当我们使用暴力模拟的时候,时间复杂度是肯定会超过要求的,所以,这个时候,最适合我们的就是进行一维差分。最后,在复原初始数组的时候,我们可以让原数组+差分数组+原数组的前面一个位置。好了,今天的内容就到这里,我们明天再见。然后,对差分数组进行操作。首先我们定义差分数组。原创 2025-03-21 20:59:49 · 395 阅读 · 0 评论 -
蓝桥杯好题推荐---激光炸弹
此外,这里还有一个特别需要注意的点,就是题目中所同一个位置可能存放多个价值,所以,我们在进行价值处理的时候,应使用的是。然后,我们先对这个价值数组进行处理,由于后面使用的时候,我们是从(1,1)开始的,所以,我们统一把坐标往右下移动一位。在这道题目当中,我们使用的是二维前缀和数组的思想,我们首先可以常见一个二维前缀和数组和一个存放价值的数组。在这个之前,我们需要将m设置为m何n的最小值,因为这个正方形的边长是可能大于这个整个数组的长度的。P2280 [HNOI2003] 激光炸弹 - 洛谷。原创 2025-03-16 13:48:18 · 530 阅读 · 0 评论 -
蓝桥杯好题推荐---二位前缀和
在这道题目当中,是要我们输出以x1,y1为左上角,x2,y2为右下角的子矩阵的和,其实这个首先很简单的思路,就是可以进行枚举,但是枚举的话,时间复杂度会超过题目的要求。第二个就是利用前缀和的方法,我们的前缀和数组f[i][j]中存放的是从(0,0)到(i,j)的所有的数的和。当我们数字求和的时候,可能会超出Int的类型范围,所以,我们应采用long long 类型。这个的面积,我们可以表示为(A+C)+(A+B)-A+x。好了,今天的内容就到这里,我们明天再见。那我们怎么表示要查找的这片区域的面积呢?原创 2025-03-16 13:25:15 · 475 阅读 · 0 评论 -
蓝桥杯好题推荐----最大字段和
在这道题目中,我们使用的其实也是前缀和的思想,开始的时候,我创建一个前缀和的数组,然后用前缀和中的最大值-前缀和中的最小值,就是距离的最大值。但是这样子是不可以的,所以,我们还是应该利用前缀和数组,不断地找到距离的最大值,找距离的最大值,我们则用当前的前缀和-前面所找到的前缀和中的最小值。这样就可以保证字段的合理。好了,今天的内容就到这里,我们明天再见。P1115 最大子段和 - 洛谷。因为我们并没有考虑字段的合理性。原创 2025-03-16 11:30:47 · 298 阅读 · 0 评论 -
蓝桥杯好题推荐---前缀和
这种题目是要求我们找到一个数组中从l到r的元素的和,查询Q次,这道题目中,我们最直观的做法,往往就是暴力枚举,但是这样子时间复杂度会超过允许的范围,所以我们使用前缀和的方法,所谓的前缀和,就是说,我们创建一个前缀和数组,在这个数组中,我们存放着从第一个元素,到这个元素的总和,这样的话,如果我们确定好了要查找的目标,那么直接使用r的数组的数字-l的数组的数字就好了。这样的话,我们就可以保证使用O(1)的时间复杂度来完成我们的任务。好了,今天的内容就到这里,我们明天再见。这个是我们的完整的代码。原创 2025-03-16 10:33:53 · 476 阅读 · 0 评论 -
蓝桥杯好题推荐---子集
在这道题目当中,我们其实是要找到这个数组当中所有的元素的组合,然后返回,所以,除了递归之外,我们还可以使用二进制表示的方法,我们用二进制的0来表示,没有使用,1来表示使用,也就是说,我们假设数组为1,2,3,78. 子集 - 力扣(LeetCode)好了,今天的内容就到这里,我们明天再见。所以,我们就可以这样写我们的代码。原创 2025-03-14 21:19:24 · 677 阅读 · 0 评论 -
蓝桥杯好题推荐---扫雷
对于扫雷这道题目来说,我们可以设置为两个数组,一个数组来存放信息,另外一个来进行检测,此外,其实检测数组的第一个数的内容确定的时候,则这个数组的所有内容就确定了,所以对这道题目来说,其实三个结果,要么1,要么0,要么2。P2327 [SCOI2005] 扫雷 - 洛谷。好了,今天的内容就到这里,我们明天再见。原创 2025-03-14 21:13:11 · 380 阅读 · 0 评论 -
蓝桥杯好题推荐-----高精度减法
这个题目的解题思路,其实是和高精度加法是非常像的。怎么说呢,其实开始的时候,由于范围受限的原因,所以我们必须把数字存到字符串中,然后用倒序,存到数组中,然后进行高精度减法,进行高精度减法的时候,我们可以逐个相减,然后如果减下的数字小于0,那么+10,前一位减一,最终从非0的第一位开始输出。记录详情 - 洛谷 | 计算机科学教育新生态。好了,今天的内容就到这里,我们明天再见。原创 2025-02-28 16:41:25 · 568 阅读 · 0 评论 -
蓝桥杯好题推荐--高精度加法
高精度加法,其实这种题目,因为数据范围的原因,所以我们不管用什么类型,都达不到这个的范围,所以,我们一般采用的就是数组+字符串,我们把要加的数字存放到字符串中,然后字符串中的数字倒序存入数组中,然后我们会定义三个数组,然后利用数组完成加法操作。好了,今天的内容就到这里,我们明天再见。原创 2025-02-28 11:12:58 · 500 阅读 · 0 评论 -
蓝桥杯好题推荐------蛇形方阵
还有一点需要注意的就是,当最后输出的时候,要有三位,不足三位的,前面用空格补齐,这种就适合使用printf("%3d",num);对于这道题目来说,这道题题目中很重要的就是模拟实现顺时针填入数字的过程,而一个很好的,可以实现这个过程的方法就是利用数组,这个应该怎么理解呢?比如说,我们创建两个数组,一个叫做dx,一个叫做dy,分别表示x轴的操作和y轴的操作。通过这个数组,我们就可以模拟填入数字的这个过程,我们接下来实现一下相关的代码。好了,今天的内容就到这里,我们明天再见。原创 2025-02-25 20:17:55 · 757 阅读 · 0 评论 -
蓝桥杯好题推荐--多项式输出
这种题目大多属于模拟题,这种是算法题目中较为简单的题目,这种情况,最重要的就是分类讨论,确保每种情况都被考虑到,保证不会重复,不会缺漏,不要直接就上来写,否则会遇到一堆错误。你看,根据前面的解题思路,我们就可以分成三个部分来完成我们的代码,在数字处理的时候,为了防止符号对数字的影响,所以我们可以对输入的值取绝对值,这样就可以避免正负号对x的影响。这个就是这道题目,基本的情况,对应我们的代码也分这三种情况来写。好了,今天的内容就到这里,我们明天再见。原创 2025-02-25 11:06:31 · 467 阅读 · 0 评论 -
蓝桥杯lesson3---string的使用
string字符串是一种更加高级的封装,string字符串中包含了大量的方法,这些方法使得字符串的操作变得更加简单,string的使用,往往贯穿于整个蓝桥杯生涯中。迭代器是一种对象,它可以用来遍历容器,迭代器的作用类似于指针,或者数组下标,这就意味着,如果我们想要访问迭代器所指向的值,我们需要解引用。当然C++中的string创建的字符串和char类型的数组所表示的字符串还有一个区别,string类型的字符串对象可以直接赋值。这个其实适用于不带空格的字符串,但如果输入的是带空格的字符串呢,我们来看看。原创 2025-01-23 21:45:34 · 1359 阅读 · 0 评论 -
蓝桥杯lesson2----数据类型
如果我们每个人自己给这些字符中的每个字符编一个二进制序列,这个叫做编码,后来,美国国家标准学会有出台了一个ASCII编码,C语言中的字符就遵循了ASCII编码的方式。C++中有一种类型叫做:bool,布尔类型的变量的值可以是true或者false,这种类型的变量专门表示真或者假的,当然在C和C++中,0表示假,非0表示真,有时候不使用bool类型也能表达相同的逻辑。对于char类型来说,到底是有符号的还是无符号的是完全有编译器决定的,大部分编译器上面就是有符号的。好了,今天的内容就到这里,我们明天再见。原创 2024-12-07 18:55:28 · 1455 阅读 · 0 评论 -
蓝桥杯软件赛系列---lesson1
我们今天会再开一个系列,那就是蓝桥杯系列,我们会从最基础的开始讲起,大家想要备战明年蓝桥杯的,让我们一起加油。原创 2024-12-06 21:40:24 · 1327 阅读 · 0 评论
分享