刷穿蓝桥杯历年真题-洛谷(C++)
查漏补缺,冲刺省一,相信自己就可以!
一只蓝色小鲨鱼
并不是我们主动选择辛苦和努力,而是别无选择!!!
一枚25考研,考公人。加油加油!!!
展开
-
P8808 [蓝桥杯 2022 国 C] 斐波那契数组--枚举
但是这样肯定会超时,我们看题的范围,a[i]的范围不超过1e6,斐波那契数列的第30项之后就大于1e6了,所有我们只需要判断前30个数即可,因为后面的数肯定会修改。思路:读完题之后,我们很容易想到暴力,枚举a[ 1 ]即可(1~1e6)但是,然后再枚举数列即可。原创 2024-03-07 10:28:46 · 291 阅读 · 0 评论 -
P8787 [蓝桥杯 2022 省 B] 砍竹子--贪心
那么我们如何优化呢?我们可以预处理出所有所有竹子砍的次数,最大的为mx,那么我们会发现,mx次之后,所有的竹子一定都可以变成1.思路:首先我们读完题,很容易想到暴力,就是枚举所有序列,然后判断是否有连续相同的数,但是这样肯定会爆掉。小tip:一定要审题,题目说的是连续的一段相同的竹子。还有范围是longlong。原创 2024-03-07 09:15:26 · 403 阅读 · 0 评论 -
[ABC298C] Cards Query Problem--map,multiset
思路:操作 2 ,升序--->联想升序的办法(容器,排序)升序的有set,map-->看有没有去重,而这个要求,不能去重,容器里面有重复元素,所以用multiset。操作 3 要知道某个数对应哪些编号,可以用二维数组,但是要求升序,所以用map映射一个multiset。原创 2024-03-06 11:34:45 · 377 阅读 · 0 评论 -
P8783 [蓝桥杯 2022 省 B] 统计子矩阵--二维前缀和
我们发现在矩形长相等,或者宽相等的时候,如:如果宽相等的矩形,某个长度的矩形不行,那么更长的长度的矩形肯定也不行,所以具有单调性。我们可以用(双指针)优化一层。首先我们用前缀和模板,然后暴力枚举所有的x1,y1,x2,y2;但是这是o(n^4)所以我们要想办法优化,枚举宽度,长的起点。利用双指针找到右端点。原创 2024-03-06 10:35:41 · 396 阅读 · 0 评论 -
P8762 [蓝桥杯 2021 国 ABC] 123--二分+数学
所以我们优化,对于每个数的前缀和,我们可以二分出,有多少个(高斯求和)类型的式子,然后加上剩下的数。对于二分出的高斯求和式子,我们可以预处理。思路:最开始想用前缀和,但是暴力只能过掉30%。原创 2024-03-05 13:38:30 · 329 阅读 · 0 评论 -
P8683 [蓝桥杯 2019 省 B] 后缀表达式--贪心
我们需要构造一种方式使得结果最大,那么我们需要保证所有的加号应该加在较大的数字上,减号减在较小的数字上。根据后缀表达式的特性(利用栈实现)我们可以发现最多只有一个减号会发生作用,所以我们只需要构造即可。原创 2024-03-05 12:56:03 · 254 阅读 · 0 评论 -
P1507 NASA的食物计划--01背包改
思路:就是01背包变型,多了一层循环。原创 2024-03-04 20:35:43 · 197 阅读 · 0 评论 -
P1734 最大约数和--数学,01背包
思路:预处理出每个数的约数和,然后用01背包。原创 2024-03-04 20:14:32 · 167 阅读 · 0 评论 -
P1164 小A点菜--01背包
思路:与01背包相似 f(i,j)表示前 i 个数,总和为 j 的方案数。原创 2024-03-04 18:51:47 · 299 阅读 · 0 评论 -
P8646 [蓝桥杯 2017 省 AB] 包子凑数--gcd,背包
思路:先判断特殊情况,什么情况下会得到INF,那就是所有得数的最大公约数>1的情况。状态转移:f(i)==true,那么f(i+a[i])==true。我们发现了最优子结构:f(i)表示能否得到 i ,而且具有后效性。因为最大为100,所以第二维最多枚举到1e4即可。f(j)表示前i个数,能否得到 j。原创 2024-03-04 18:41:09 · 767 阅读 · 0 评论 -
P8602 [蓝桥杯 2013 省 A] 大臣的旅费--树的直径
思路:模板题,多了一个路径长度的计算,利用求和公式即可。原创 2024-03-04 11:22:13 · 471 阅读 · 0 评论 -
P8637 [蓝桥杯 2016 省 B] 交换瓶子--贪心
证明贪心:因为每次交换,都不会影响到之前已经确定的数。思路:很明显的贪心,再看一眼范围,那么很明显的暴力+贪心。原创 2024-03-03 21:59:37 · 251 阅读 · 0 评论 -
P8807 [蓝桥杯 2022 国 C] 取模--数学,抽屉原理
其实不是,我们可以发现,想让循环继续,n mod 2 必须是 1,因为 0 已经出现过了,n mod 3 必须是 2,因为 0,1 都已经出现过了...... n mod m 必须是 m−1,因为 0,1,2,...,m−2 都已经出现过了。而且,当 m≥23 时,由于 lcm(1,2,⋯ ,23)−1>10e9,所以只需要枚举到23即可,所以里面一定能判断是否有满足题意的。对 22 取模,只有 22 种可能,为 0,10,1。对 11 取模,只有 11 种可能,为 00。看起来是 O(m) 的?原创 2024-03-03 21:41:23 · 304 阅读 · 0 评论 -
P8800 [蓝桥杯 2022 国 B] 卡牌--二分
思路:因为答案满足二段性,和单调性,所以我们二分答案。原创 2024-03-03 19:47:07 · 420 阅读 · 0 评论 -
P8799 [蓝桥杯 2022 国 B] 齿轮--枚举
我们发现a(i)的范围最大为2e5,所以我们枚举a[i],每次增加a[i],到mx即可。思路:枚举即可,但是如果我们暴力枚举的话,那么会超时,所以我们优化第二层枚举。原创 2024-03-01 20:15:09 · 228 阅读 · 0 评论 -
P8802 [蓝桥杯 2022 国 B] 出差--最短路
最短路的模板题,利用优先队列来解题即可。dijkstra算法。多了一个点权值得计算。原创 2024-03-01 20:09:25 · 183 阅读 · 0 评论 -
P8794 [蓝桥杯 2022 国 A] 环境治理--2024蓝桥杯冲刺省一
因为要求任意两点的最小值,所以用Floyd(check函数)因为时间满足单调性,二段性,所以可以二分时间。原创 2024-02-29 17:12:34 · 255 阅读 · 0 评论 -
[ABC079D] Wall
思路:据题意,从一个数字转换到另一个数字,途中经历了很多数字的最小花费,那么我们需要知道每每两个点之间的值。求0~9,任意点之间的最小花费即可。原创 2024-02-29 15:47:40 · 193 阅读 · 0 评论 -
[ABC286E] Souvenir--2024冲刺蓝桥杯省一
求路径的时候就是Floyd的模板,但是多了一个记录点的最短路的最大值点权之和(金币的价值最大),那么我们多开一个w(i,j)数组,这样就可以记录了,表示 i -> j 的最大点权之和。原创 2024-02-29 15:20:06 · 211 阅读 · 0 评论 -
P8786 [蓝桥杯 2022 省 B] 李白打酒加强版--2024蓝桥杯冲刺省一
动态规划,f(i,j,k)表示遇到前 i 个店,遇到 j 朵花,还剩 k 斗酒的方案之和。转移分别写对应的方法:翻倍和减一。原创 2024-02-28 20:36:56 · 291 阅读 · 0 评论 -
P8749 [蓝桥杯 2021 省 B] 杨辉三角形--2024蓝桥杯冲刺省一
最开始观察到,由于每一行的一半元素是递增的,所以我们可以枚举行,然后二分每一列,但是枚举的每一行的时间复杂度太长,所以错误的。但是我们可以切换思路。枚举每一列,二分每一行,就降低了复杂度(每一列的元素也是递增的)。第5层 1 5 10 10 5 1。第4层 1 4 6 4 1。第3层 1 3 3 1。原创 2024-02-28 10:39:44 · 251 阅读 · 0 评论 -
P8744 [蓝桥杯 2021 省 A] 左孩子右兄弟--2024蓝桥杯冲刺省一
我们以当前节点为例,它能贡献的长度就是它的儿子的个数和每个儿子贡献的最大值,所以我们需要知道哪个儿子贡献最多。这个过程可以用搜索。返回值为当前节点的"左儿子,右兄弟“表示法的最大深度。当然,这个思路也符合最优子结构,且有后效性。原创 2024-02-26 16:18:55 · 282 阅读 · 0 评论 -
P8736 [蓝桥杯 2020 国 B] 游园安排--2024蓝桥杯冲刺省一
【代码】P8736 [蓝桥杯 2020 国 B] 游园安排--2024蓝桥杯冲刺省一。原创 2024-02-26 14:39:17 · 706 阅读 · 0 评论 -
最长上升子序列--模板
优化,有三份代码:第一二份是优化了算法,可以利用贪心+二分优化递推的过程。动态规划,f[i] 表示 以第 i 个数结尾的最长上升子序列的长度。原创 2024-02-26 14:37:27 · 499 阅读 · 0 评论 -
P8716 [蓝桥杯 2020 省 AB2] 回文日期--2024蓝桥杯冲刺省一
2.由于一定是回文数,所以枚举1到10000即可,判断是不是原创 2024-02-25 22:26:24 · 345 阅读 · 0 评论 -
P8695 [蓝桥杯 2019 国 AC] 轨道炮--2024蓝桥杯冲刺省一
为什么枚举时间1000即可:1.不会的时候只有暴力(保证不超时)2.每个点的速度时不同的,超出一定的时间后,就不可能在同一条坐标轴线上。我们可以暴力枚举每个时刻,然后统计每个时刻有多少点在同一行或者同一列,然后更新最大值即可。原创 2024-02-25 13:15:08 · 452 阅读 · 0 评论 -
P8672 [蓝桥杯 2018 国 C] 交换次数--2024蓝桥杯冲刺省一
每种情况,使用贪心,匹配好每段字符串。枚举6种情况,更新最小答案。原创 2024-02-24 16:27:32 · 442 阅读 · 0 评论 -
P8630 [蓝桥杯 2015 国 B] 密文搜索--2024蓝桥杯冲刺省一
我们可以储存资料中对应的所有密码可能(用map)。但是问题在于,处理一个密码的时候,有A88种组合,所以我们需要优化,由于密码只要组成的字母相同,密码就可以匹配,所以我们储存的时候,可以规定一个顺序,优化了A88。寻找资料中对应的密码,(密码是乱序的)原创 2024-02-24 15:05:30 · 278 阅读 · 0 评论 -
P8625 [蓝桥杯 2015 省 B] 生命之树--2024蓝桥杯冲刺省一
我们只需要求出每个点集的子树的总和即可。如果,某个的的儿子(子树的和为负数,那么我们就不计算这个儿子)。读完题意后,我们要求的是找一个联通的点集,使得点集的和为最大,权值在点上。原创 2024-02-23 22:32:49 · 267 阅读 · 0 评论 -
P8686 [蓝桥杯 2019 省 A] 修改数组--2024蓝桥杯冲刺省一
因为n的范围为n,所以我们确定每个数只有复杂度为O(1)或者O(logn)所以我们考虑对应的算法。考虑二分-->寻找单调性,二段性。确定每个数的答案,发现要么是本身,要么是比自己大的数。所以有二段性:大于等于自身的都满足。每次就找到(排除确定的数)大于等于自己的数即可。如果要确定一个答案,如样例,确定第二个1的时候,我们怎么直接找到3呢?我们是不是可以找到1直接指向的哪个数,这样就降低了时间复杂度为O(1),那么这个过程就有点想并查集路径压缩之后,某个点直接指向根节点。那么我们可以使用并查集。原创 2024-02-23 21:59:32 · 262 阅读 · 0 评论 -
P8685 [蓝桥杯 2019 省 A] 外卖店优先级--2024蓝桥杯冲刺省一
由于我们把有记录和没有记录的时间点都遍历了一遍,自然浪费时间,所以,我们可以只。由于所有的店铺都相互之间是没有关联的。时间节点是有顺序的,所以我们需要排序。原创 2024-02-22 10:15:06 · 250 阅读 · 0 评论 -
P9421 [蓝桥杯 2023 国 B] 班级活动--2024蓝桥杯冲刺省一
如果两两匹配了的就可以不用管,需要修改的分为两种情况,一是只有一个数的情况下,二是同样的数多于2的部分。我们分别统计数量,然后分类讨论即可。原创 2024-02-21 21:54:20 · 183 阅读 · 0 评论 -
P8723 [蓝桥杯 2020 省 AB3] 乘法表--2024蓝桥杯冲刺省一
转换一个进制的时候,我们可以模拟短除法的过程。原创 2024-02-21 21:32:45 · 275 阅读 · 0 评论 -
P8781 [蓝桥杯 2022 省 B] 修剪灌木--2024蓝桥杯冲刺省一
我们自己模拟这个过程,发现每个位置的答案就是经历,一是从当前位置到开头再回来,二是从当前位置开始到结尾再回来。那么结果就是两者取最大值。原创 2024-02-20 13:36:17 · 196 阅读 · 0 评论 -
P8748 [蓝桥杯 2021 省 B] 时间显示--2024蓝桥杯冲刺省一
思路:直接模拟即可。原创 2024-02-20 11:59:48 · 231 阅读 · 0 评论 -
P8700 [蓝桥杯 2019 国 B] 解谜游戏--2024蓝桥杯冲刺省一
/对于每个相对位置,那么我么基本的条件就G的数量为3,R的数量为2,Y的数量为1;//我们发现只跟相对位置有关,周期为4;//是的,我们可以通过Y来中转使得满足;//那么考虑是不是这样就行了呢。原创 2024-02-20 11:26:52 · 176 阅读 · 0 评论 -
P8662 [蓝桥杯 2018 省 AB] 全球变暖--2024蓝桥杯冲刺省一
经典的连通块问题,记录连通块的时候,只要判断哪个连通块不会被淹没即可。判断有没有淹没:只需要判断一个#周围有没有4个#即可,边界也算一个#。原创 2024-02-19 22:15:29 · 484 阅读 · 0 评论 -
P8641 [蓝桥杯 2016 国 C] 赢球票--2024蓝桥杯冲刺省一
因为是循环的,符合queue队列的特性,先进后出。所以我们用队列模拟这个过程即可。n最大100,我们枚举从哪个位置开始开始,然后模拟拿牌这个过程即可。原创 2024-02-19 21:35:59 · 525 阅读 · 0 评论 -
P8668 [蓝桥杯 2018 省 B] 螺旋折线--2024蓝桥杯冲刺省一
找规律,划分层数,我们发现 max(abs(x),abs(y))-1是一定经历过的层数,那么我们只需要看多出来的多长即可。原创 2024-02-19 21:13:48 · 354 阅读 · 0 评论 -
P8627 [蓝桥杯 2015 省 A] 饮料换购--2024蓝桥杯冲刺省一
【代码】P8627 [蓝桥杯 2015 省 A] 饮料换购--2024蓝桥杯冲刺省一。原创 2024-02-19 19:32:56 · 151 阅读 · 0 评论