蓝桥杯集训·每日一题+周赛
文章平均质量分 87
马看到什么是人决定的
在校学生,软件设计师,算法领域博主,阿里云专家博主,CSDN/掘金平台创作者,喜欢记录学习问题,分享笔记,热爱算法。
展开
-
【蓝桥杯集训·最后一次周赛】AcWing 第 97 场周赛
最后一次周赛,蓝桥赛场见,同学们!原创 2023-04-02 17:14:23 · 523 阅读 · 3 评论 -
【第十四届蓝桥杯考前速成】必考知识点及代码模板总结,看完至少多拿50分
4月8日蓝桥杯省赛,一起加油,祝我们都能取得心仪的成绩!原创 2023-04-01 22:26:05 · 6228 阅读 · 19 评论 -
【蓝桥杯集训·每日一题】AcWing 3805. 环形数组
接下来 m 行,每行描述一个操作,对于第 i 行,如果包含两个整数 l,r,则表示第 i 个操作为求最小值操作;注意,数组是环形的,所以当 n=5 时,区间 [3,1] 内的所有元素依次为 a3,a4,a0,a1。则说明输入两个数,执行求最小值操作;否则,则执行增值操作。(2)处理输入问题:读取第二个输入的数的后面的字符,如果输入为。第二行包含 n 个整数,表示 a0,a1,…如果输入区间的右端点大于等于左端点正常处理即可。l,r,d,则表示第 i 个操作为增值操作。第一行包含整数 n,表示数组长度。原创 2023-03-28 11:34:21 · 743 阅读 · 3 评论 -
【蓝桥杯集训·周赛】AcWing 第96场周赛
(2)因为能够被2520整除的是2520的倍数,所以当前n是2520的多少倍(下取整),即存在多少个能够被2520整除的数。,dn 以及三个整数 k,a,b。有一个容量为 n 的背包和 m+1 种物品,每种物品都有无限多个。接下来 m 行,每行包含四个整数 li,hi,vi,wi。一个整数,表示 [1,n] 范围内完美数的个数。第 i 种物品的体积为 vi,价值为 wi。第一行包含 5 个整数 n,k,a,b,q。第一行包含四个整数 n,m,v0,w0。注意审题,不要将 n,m 的含义弄混。原创 2023-03-26 20:10:50 · 968 阅读 · 7 评论 -
【蓝桥杯集训·每日一题】AcWing 3662. 最大上升子序列和
先将序列中的数映射到一个数组中去,这样就转化成了求所有小于。给定一个长度为 n 的整数序列 a1,a2,…进行优化,最终将时间复杂度控制在O(nlogn)。(2)如果不进行dp优化,时间复杂度最坏为O(n。第二行包含 n 个整数 a1,a2,…请你选出一个该序列的严格上升子序列,要求。结尾的的所有上升子序列中序列和的最大值。对于样例 2,我们选取 1,9,10。对于样例 1,我们只选取 100。时间复杂度为O(nlogn)输出最大的上升子序列和。的所有前缀的最大值,利用。第一行包含整数 n。原创 2023-03-25 17:39:57 · 931 阅读 · 2 评论 -
【蓝桥杯集训·每日一题】AcWing 1079. 叶子的颜色
给一棵有 m 个节点的无根树,你可以选择一个度数大于 1 的节点作为根,然后给一些节点(根、内部节点、叶子均可)着以黑色或白色。第一行包括两个数 m,n,依次表示节点总数和叶子个数,节点编号依次为 1 至 m,其中编号 1 至 n 是叶子。你的着色方案应保证根节点到各叶子节点的简单路径上都至少包含一个有色节点,哪怕是这个叶子本身。对于每个叶子节点 u,定义 cu 为从根节点到 u 的简单路径上最后一个有色节点的颜色。(1)题目要求:染色方法满足每个叶子节点到根节点的路径上至少存在一个结点的颜色为。原创 2023-03-24 18:07:54 · 500 阅读 · 2 评论 -
【蓝桥杯集训·每日一题】 AcWing 3996. 涂色
我们规定,如果编号范围 [i,j] 内的所有砖块的颜色都相同,且当第 i−1 和 第 j+1 个砖块存在时,这两个砖块的颜色和区间 [i,j] 的颜色均不同, 则砖块 i 和 j 属于同一个连通块。(1)因为每次都是改变起始点所在的连通块,所以颜色相同的砖块一定是一起改变的,所以我们可以先将原序列中颜色相同的砖块简化成一个砖块。例如,[3,3,3] 有 1 个连通块,[5,2,4,4] 有 3 个连通块。注意,每次染色操作所涉及的连通块必须包含所有操作开始前选定的起始砖块。因此,答案是 3,而不是 2。原创 2023-03-23 17:29:56 · 1071 阅读 · 0 评论 -
【蓝桥杯集训·每日一题】AcWing 1051. 最大的和
对于给定的整数序列 A={a1,a2,…,an},找出两个不重合连续子段,使得两子段中所有数字的和最大。每组数据的第一行是一个整数,代表数据个数据 n,第二行是 n 个整数 a1,a2,…在样例中,我们取{2,2,3,-3,4}和{5}两个子段,即可>得到答案。(1)利用求单段连续子段和的方法,将所有子段和处理出来。每组数据输出一个整数,占一行,就是 d(A) 的值。第一行是一个整数 T,代表一共有多少组数据。的所有取值,两个连续子段的最大和即为。接下来是 T 组数据。(3)对数组序列进行。原创 2023-03-22 16:21:35 · 949 阅读 · 2 评论 -
【蓝桥杯集训·每日一题】AcWing 3382. 整数拆分
的所有的2的次幂预处理出来,然后对这些数进行组合,每个数可以重复选,但是注意不要重复计算方案(每次从当前位置开始,选后面的数进行dfs即可避免,就是每次搜索只从当前数和其后面数开始搜索,不搜索其前面的数)。可以得到转移方程 dp[i][j]=dp[i-1][j]+dp[i][j-v[i]],从前小到达枚举背包体积进行空间优化:dp[j]=dp[j]+dp[j-v[i]]再比如:4 可以拆分成:4=4,4=1+1+1+1,4=2+2,4=1+1+2。每个2的次幂为物品,其值为物品体积,而背包的容量为。原创 2023-03-21 09:48:09 · 702 阅读 · 3 评论 -
【蓝桥杯集训·周赛】AcWing 第 95 场周赛
(3)对于先手必胜态,由于第一个数不是最小的,我们可以将第一个数减1之后将最小的数换到第一个数,即可以转化成某一个先手必败态;对于先手必败态,由于第一个数已经是最小的了,我们将第一个数减1之后,该数还是最小的,我们无论拿谁来与它交换,都使得第一个数不是最小数,即只能转化为先手必胜态。(1)其实比赛时也没想到怎么优化,只是找规律,比如9是美丽数,它的三个约数是1,3,9;49也是美丽数,它的三个约数是1,7,49。,但是16是美丽数吗?显然不是,因为16的约数是1,2,4,8,16不是3个;原创 2023-03-19 11:28:06 · 802 阅读 · 24 评论 -
【蓝桥杯集训·每日一题】AcWing 4005. 取石子游戏
如果轮到一人行动时,已经没有石子可取,则该名玩家失败。已知,双方都会采取最优策略,且 Alice 率先行动。每组数据输出一行结果,如果 Alice 获胜,则输出。Alice 和 Bob 正在玩一个取石子游戏。每当轮到一人行动时,该名玩家需要从石子堆中取走。第一行包含整数 T,表示共有 T 组测试数据。每组数据占一行,包含两个整数 n,k。共有 n 个石子,双方轮流采取行动。1 或 2 或 k 个石子。直接给出结论:具体证明过程见。时间复杂度为O(n)原创 2023-03-18 10:21:03 · 686 阅读 · 3 评论 -
【蓝桥杯集训·每日一题】AcWing 4496. 吃水果
(3)剩下的n-k-1个小朋友,拿到的水果和其左边小朋友的水果一样,所有他们拿到的水果是唯一确定的,只要确定了(1)(2)的情况总数,总的情况数也就确定了。(2)因为题目中的k个小朋友不包括最左边的小朋友,所以先在n-1个小朋友中选择k个小朋友,这k个小朋友和其左边相邻的小朋友的水果不同,总共。而这k个小朋友由于要和其左边的小朋友拿的水果不同,所以这k个人拿到的水果种类的情况总共(m-1)(1)第一个小朋友(最左边)拿到水果的情况共有m种。一共有 m 种水果,每种水果的数量都足够多。(最左边的小朋友当然。原创 2023-03-16 23:07:57 · 753 阅读 · 19 评论 -
【蓝桥杯集训·每日一题】AcWing 3625. 幂次方
共一行,两个整数 X 和 N。共一行,一个整数,表示 X。mod233333 的值。时间复杂度O(logN)(1)快速幂模板题。(2)套用模板即可。原创 2023-03-16 08:27:48 · 295 阅读 · 5 评论 -
【蓝桥杯集训·每日一题】AcWing 4309. 消灭老鼠
(2)由于可能有些点在x轴或者y轴上,所以计算斜率可能会出现除数为0的情况,所以我们用点对来存储每个点的斜率(即分子分母约分后最简分数形式的点对(分子与分母),也就是同时除以它俩的。到第一、四象限(针对两个点,如果某个点经过原点对称变换后和另外一个点重合,说明两点在同一条直线上),所以,这样我们只需要统计第一、四象限有多少个点对即可。(1)我们可以先将发射点移动到原点,当某些点与发射点构成的直线的斜率相同时,说明可以将这些点上的老鼠一起消灭掉。第 i 个老鼠的位置坐标为 (xi,yi)。原创 2023-03-15 15:32:08 · 648 阅读 · 4 评论 -
【蓝桥杯集训·每日一题】AcWing 3792. 质数问题
(2)然后来判断每两个相邻的质数之和加1,组成的数是否出现在被筛选出的质数中。埃氏筛法时间复杂度为O(loglogn),线性筛法时间复杂度为O(n)(2)按题目要求,枚举指定范围内的质数,判断是否可以满足题目条件。每组数据输出占一行,如果存在不少于 k 个质数满足条件则输出。例如,19 满足条件,因为 19=7+11+1。第一行包含整数 T,表示共有 T 组测试数据。每组数据占一行,包含两个整数 n 和 k。将1~1000中的质数筛出来。给定两个整数 n 和 k,将1~n中的质数筛选出来。原创 2023-03-14 20:31:01 · 598 阅读 · 5 评论 -
【蓝桥杯集训·周赛】AcWing 第94场周赛
(2)由于每个点不是到达后就可立即出发,所以要判断当前时刻是否可以出发,也就是要遍历这个点每个禁止出发的时刻,如果当前时刻正好小于所有的禁止出发时刻,就可以直接走;接下来 n 行,其中第 i 行首先包含一个整数 ki,表示第 i 个点有 ki 个禁止离开时刻,随后包含 ki 个互不相同的升序排序的整数。进行求解,最后一个删除的点即为第一个加入的点,倒着枚举删除序列,每次加入一个点后更新每两个点之间的最短距离,并统计此时的最短路径长度即可。在每个点的禁止离开时刻,你无法离开该点前往其它点。原创 2023-03-18 16:19:39 · 630 阅读 · 12 评论 -
【蓝桥杯集训·每日一题】AcWing1394. 完美牛棚
首先包含一个整数 Si,表示这头奶牛愿意在 Si 个单间中产奶。在过去的一周中,农夫约翰一直在收集有关哪些奶牛愿意在哪些单间产奶的数据。一个单间只能分配给一头奶牛,当然,一头奶牛也可能只愿意在一个单间中产奶。输出一个整数,表示可以被分配在自己愿意产奶的单间中的奶牛的最大数量。第一行包含两个整数 N 和 M,分别表示奶牛的数量以及单间的数量。但是很快他就发现,每头奶牛都只愿意在一部分自己喜欢的单间中产奶。不幸的是,由于工程问题,牛棚中的每个单间都不太一样。个不同的整数,表示这些单间的编号。原创 2023-03-11 09:46:21 · 600 阅读 · 9 评论 -
【蓝桥杯集训·每日一题】AcWing 3555. 二叉树
接下来 n 行,每行包含两个整数,其中第 i 行的整数表示结点 i 的子结点编号。:先将深度较深的点往上爬,爬到与另一个点的深度相同后,两点一起往上爬,爬到的第一个相同的点即为最近公共祖先。(1)可以将题目所求的两点之间的最短路径长度转化为两点距离其公共祖先的距离和。给定一个 n 个结点(编号 1∼n)构成的二叉树,其根结点为 1 号点。每组测试数据输出 m 行,代表查询的两个结点之间的最短路径长度。接下来 m 行,每行包含两个整数,表示要询问的两个结点的编号。,则两点之间的最短长度为。原创 2023-03-10 14:45:56 · 485 阅读 · 1 评论 -
【蓝桥杯集训·每日一题】AcWing 3728. 城市通电
注意,任意两个城市之间最多只需要搭建一根电线,也就是说,对于每个 (a,b),不要有多余的 (a,b) 或 (b,a)第三行输出 v 个整数,表示建立发电站的城市编号,注意输出编号要在范围 [1,n] 内。且输出编号不应重复。也就是说,如果在城市 i 与城市 j 之间搭建电线,则电线的长度为 |xi−xj|+|yi−yj|。一个城市如果建有发电站,或者通过电线直接或间接的与建有发电站的城市保持连通,则该城市通电。接下来 n 行,其中第 i 行包含两个整数 xi,yi,用来描述城市 i 的横纵坐标。原创 2023-03-09 17:14:16 · 614 阅读 · 1 评论 -
【蓝桥杯集训·每日一题】AcWing 4074. 铁路与公路
请你为它们规划行进路线,每条路线中可重复经过同一条铁路或公路,但是为了避免发生事故,火车和汽车不得同时到达同一个城市(城市 n 除外)。接下来 m 行,每行包含两个整数 u,v,表示城市 u 和城市 v 之间存在一条铁路。(4)所以,题目中的约束条件始终无法满足,我们只需要求出火车和汽车分别到达城市。现在有一列火车和一辆汽车同时离开城市 1,它们的目的地都是城市 n。每条铁路连接两个不同的城市,没有两条铁路连接同一对城市。(2)同理,如果从城市1到城市n之间有公路,汽车和火车也。原创 2023-03-08 16:08:03 · 590 阅读 · 0 评论 -
【蓝桥杯集训·每日一题】AcWing 3305. 作物杂交
都生成所花费的时间最小即可。第 4 至 K+3 行,每行包含 3 个整数 A,B,C,表示第 A 类作物和第 B 类作物杂交可以获得第 C 类作物的种子。第 11 天至第 16 天,将编号 4 与编号 5 的作物杂交,得到编号 6 的作物种子。第 6 天至第 10 天,将编号 1 与编号 3 的作物杂交,得到编号 4 的作物种子。第 1 天至第 5 天,将编号 1 与编号 2 的作物杂交,得到编号 3 的作物种子。第 6 天至第 9 天,将编号 2 与编号 3 的作物杂交,得到编号 5 的作物种子。原创 2023-03-07 12:56:29 · 733 阅读 · 10 评论 -
【蓝桥杯集训·周赛】AcWing 第93场周赛
然后求解完毕后,因为求的是最小值,所以直接将两种情况求出的结果取一个最小值,即为答案。),然后在这个倍数的基础上向后枚举,直到满足条件,退出循环,输出答案即可。一个整数,表示将 x 变为一个 n 位数字,所需要的最少操作次数。,则该分枝一定不如已收获的答案最优,没必要继续搜索,直接回溯即可。的位数,则乘的数应该越大越好,所以可以从从大到小来枚举是否可以乘。,针对两个分枝,递归地去求解左右子树确定的最大值的最小值(即。(4)如果当前数不是k的倍数,则答案也为。(2)如果当前数是k的倍数,则答案应为。原创 2023-03-05 16:42:08 · 705 阅读 · 3 评论 -
【蓝桥杯集训·每日一题】AcWing 1488. 最短距离
(1)将每个商店看做起点,在图中添加一个虚拟源点(起点),该点到其后面所有商店的距离均为0(有向边),则可以将从村庄走到商店的最短路径转化为从村庄走到源点(也就是从源点到村庄)的最短路径,两者等价。(2)模拟上述过程,求从虚拟源点到村庄的最短路径,即为从村庄到商店的最短路径。时间复杂度为O(mlogn)(n表示点数,m表示边数)原创 2023-03-05 10:31:39 · 549 阅读 · 0 评论 -
【蓝桥杯集训·每日一题】AcWing 3696. 构造有向无环图
(2)如果给定的图中不存在回路(即存在拓扑序列),则可以将与无向边相连的点,在拓扑序列中前面的点指向后面的点,这样为每条边添加方向,不会存在环。接下来 m 行,每行包含三个整数 t,x,y,用来描述一条边的信息,其中 t 表示边的状态,如果 t=0,则表示边是无向边,如果。,随后 m 行,每行包含两个整数 x,y,用来描述最终构造成的有向无环图中的每条边的具体方向(x 指向。(3)按上述模拟,先输出所有有向边,然后再按(2)输出所有无向边(同时为无向边添加方向)。注意,已经确定方向的边,不能更改方向。原创 2023-03-03 17:50:38 · 718 阅读 · 2 评论 -
【蓝桥杯集训·每日一题】AcWing 3502. 不同路径数
(2)利用dfs对每个点可能构成的(k+1)位数进行搜索,然后将构成的数加入哈希表中去重,最终哈希表中元素的数量,即为不同的(k+1)位数的个数。(1)因为走过的位置可以重复走,所以针对每个点,它四个方向且在范围中的点都可以走。给定一个 n×m 的二维矩阵,其中的每个元素都是一个 [1,9] 之间的正整数。接下来 n 行,每行包含 m 个空格隔开的整数,表示给定矩阵。输出一个整数,表示可以走出的不同 (k+1) 位数的个数。走了 k 次后,经过的元素会构成一个 (k+1) 位数。原创 2023-03-02 09:29:42 · 417 阅读 · 0 评论 -
【蓝桥杯集训·每日一题】AcWing 1562. 微博转发
当用户在微博上发布帖子时,他/她的所有关注者都可以查看并转发他/她的帖子,然后这些人的关注者可以对内容再次转发…最后一行首先包含一个整数 K,表示询问次数,然后包含 K 个用户编号,表示询问这些人的帖子的最大可能转发量。如果 B 是 A 的关注者,C 是 B 的关注者,那么 A 的第一层关注者是 B,第二层关注者是 C。时间复杂度为O(k(n+m))(k为询问数,n为点数,m为边数,宽搜时间复杂度为O(n+m))第一行包含两个整数,N 表示用户数量,L 表示需要考虑的关注者的层数。是第 i 名用户关注的。原创 2023-03-01 15:53:31 · 411 阅读 · 6 评论 -
【蓝桥杯集训·每日一题】AcWing 3485. 最大异或和
)二进制的每位数插入Tire树(可以想成Tire树有两个分枝,左0右1,每插入一个数就按它的每位数值向外延伸)中,同时记录Tire树中每个点(或分枝点)的出现次数。如果不存在与当前位不同的数,则往与该位相同的分枝向下延伸,直至遍历完该数的每一个二进制位。(3)每当查找一个异或最大的两个数时,先从高位到低位遍历其中一个数的二进制的所有位的数,可以利用。个,(类似滑动窗口),如果当前区间中(即子数组中的数)大于。数组中,某满足题目范围的两个数异或值的最大值输出即可。的数的异或值,所以我们可以利用。原创 2023-02-28 21:45:35 · 588 阅读 · 0 评论 -
【蓝桥杯集训·周赛】AcWing 第92场周赛
如果用边将两个集合相连,则合并后集合的度比合并前任意一个集合的度都要大(合并后集合的度也就是合并后集合的总元素数-1)。所以,只有满足每个根结点pair都有孩子,每个int都没有孩子,而且构造成的二叉树正好将所有的输入都用到(即不能多单词也不能少单词),就是满足条件类型的字符串。而输入和输出便是二叉树的。(2)我们可以通过上述规则,来判断给定的输入能否构造出上述的二叉树,如果可以,我们对二叉树的前序遍历进行输出(同时,每输出一个根结点。共 d 行,其中第 i 行输出第 i 个问题中,度的最大可能值。原创 2023-02-26 21:39:08 · 544 阅读 · 2 评论 -
【蓝桥杯集训·每日一题】AcWing 141. 周期
换言之,对于每一个从头开始的长度为 i(i>1)的前缀,是否由重复出现的子串 A 组成,即 AAA…如果存在,请找出最短的循环节对应的 K 值(也就是这个前缀串的所有可能重复节中,最大的 K 值)。一个字符串的前缀是从第一个字符开始的连续若干个字符,例如 abaab 共有 5 个前缀,分别是。接下来的每一行,输出具有循环节的前缀的长度 i 和其对应 K,中间用一个空格隔开。,则说明最小循环节在该子串中出现了整数次,满足题目要求,否则不满足。的字符串中最长相等前后缀的长度。的循环节的长度必然是。原创 2023-02-25 18:35:58 · 381 阅读 · 0 评论 -
【蓝桥杯集训·每日一题】AcWing 2058. 笨拙的手指
(2)将数N的三进制表示下的每种写错的情况的十进制下的数值在哈希表中进行查找,如果该数值出现过,则该数就是N的十进制表示,输出即可。例如,如果她将数字 14 转换为二进制数,那么正确的结果应为 1110,但她可能会写下 0110 或 1111。贝茜不会额外添加或删除数字,但是可能会由于写错数字的原因,写下包含前导 0 的数字。每当贝茜将数字转换为一个新的进制并写下结果时,她总是将其中的某一位数字写错。(1)将数N的二进制表示下可能写错的每种情况的十进制下的数值存入哈希表中。输出正确的 N 的值。原创 2023-02-23 15:17:43 · 407 阅读 · 0 评论 -
【蓝桥杯集训·每日一题】AcWing 1249. 亲戚
如果能得到完整的家谱,判断两个人是否是亲戚应该是可行的,但如果两个人的最近公共祖先与他们相隔好几代,使得家谱十分庞大,那么检验亲戚关系实非人力所能及。以下 Q 行有 Q 个询问,每行为 ci,di ,表示询问 ci 和 di 是否为亲戚。为了将问题简化,你将得到一些亲戚关系的信息,如Marry和Tom是亲戚,Tom和Ben是亲戚,等等。对于每个询问 ci,di,输出一行:若 ci 和 di 为亲戚,则输出。他可能是你的曾祖父的外公的女婿的外甥女的表姐的孙子。或许你并不知道,你的某个朋友是你的亲戚。原创 2023-02-21 20:26:45 · 769 阅读 · 2 评论 -
【蓝桥杯集训·每日一题】AcWing 1497. 树的遍历
(3)递归地对左右子树进行上述操作,直到后序遍历中子树大小为空,这样就可以依次将每层的结点找到,然后把每层的结点记录下来,输出即可。(2)根据根结点的位置我们可以在中序遍历中得知整棵树的左右子树,分别包含哪些结点。(1)我们可以通过后序遍历的最后一个一个结点来确定整棵树的根结点,现在给出它的后序遍历和中序遍历,请你输出它的。第二行包含 N 个整数,表示二叉树的后序遍历。第三行包含 N 个整数,表示二叉树的中序遍历。输出一行 N 个整数,表示二叉树的层序遍历。第一行包含整数 N,表示二叉树的节点数。原创 2023-02-21 17:45:40 · 527 阅读 · 1 评论 -
【蓝桥杯集训·周赛】AcWing 第91场周赛
(1)经过分析可知,我们直接将每位非0数字取出,然后再乘它在原数字中的权重,得到数列中的一个元素,将每位非0数字均如上操作,即可得到圆数数列,而原数字n中非0的位数即为数列长度。(2)按题目要求,来判断,如果某天花被浇的次数大于1,则花死了,输出该天和该天的浇水次数;给定领导的具体安排,请你判断,花能否活过整个假期,如果不能,请你输出它是在第几天死的,以及那一天的具体浇水次数。如果花不能活过整个假期,则输出两个整数 x,y ,表示花是在第 x 天死的,这一天花被浇了 y 次水。原创 2023-02-19 21:09:50 · 532 阅读 · 0 评论 -
【蓝桥杯集训·每日一题】AcWing 3777. 砖块
(2)假设我们从前往后依次操作,来使所有砖块颜色相同,即依次遍历每个砖块,如果与预期颜色不同,则操作它和它后面一个砖块使该位置砖块的颜色满足条件,直到遍历到最后一个砖块,它的砖块颜色无法再进行改变(因为前面的砖块已经满足条件,若要改变砖块颜色只能改变它和它后面与它相邻的砖块的颜色,而它是最后一个砖块,无法再进行操作),所以如果最后一个砖块的颜色符合预期,则可以使所有砖块颜色相同;其中的每个字符都是 W 或 B,如果第 i个字符是 W,则表示第 i 号砖块是白色的,如果第 i。你的目标是通过不超过。原创 2023-02-17 23:19:26 · 661 阅读 · 6 评论 -
【蓝桥杯集训·每日一题】AcWing 3768. 字符串删减
(1)遍历一遍字符串,求出从每个位置开始,长度为3的子串,如果该子串中包含三个。现在,需要删掉其中的一些字母,使得字符串中不存在连续三个或三个以上的 x。如果字符串本来就不存在连续的三个或三个以上 x,则无需删掉任何字母。,则可以进行双指针优化,可以将时间复杂度降低至O(n)。第二行包含一个长度为 n 的由小写字母构成的字符串。(2)统计所有位置的需要删除的个数,输出即可。给定一个由 n 个小写字母构成的字符串。的个数小于3,则不需要删除;的个数大于等于3个,则需要删除。输出最少需要删掉的字母个数。原创 2023-02-16 21:20:52 · 794 阅读 · 2 评论 -
【蓝桥杯集训·每日一题】AcWing 1460. 我在哪?
(1)在暴力基础上,利用二分来查找满足条件的k(因为k是满足条件的最小长度,所以小于k的的数一定不满足条件,而大于等于k的一定满足条件,具有二段性,可以二分),取代第一层循环。最小可行的 K 的值为 K=4,因为如果他查看任意连续 4 个邮箱,那么可得到的连续颜色序列可以唯一确定他在道路上的位置。Z 之间的一个字母来指定,所以沿着道路的 N 个邮箱的序列可以用一个长为 N 的由字母 A…然而,每个农场都沿路设有一个彩色的邮箱,所以约翰希望能够通过查看最近的几个邮箱的颜色来唯一确定他所在的位置。原创 2023-02-16 13:06:02 · 1502 阅读 · 4 评论 -
【蓝桥杯集训·每日一题】Acwing 3729. 改变数组元素
每组数据输出一行结果,表示所有操作完成后的数组 V,数组内元素之间用空格隔开。从数组 V 尾部插入整数 0。将位于数组 V 末尾的。(3)对差分数组求前缀和得到结果数组,输出即可。(2)对差分数组求前缀和得到数组,如果数组元素值。个元素都变为 1(已经是 1 的不予理会)。(1)直接对每个区间进行差分将每个区间元素值。(2)对每个区间利用差分将每个区间元素值。给定一个空数组 V 和一个整数数组。现在要对数组 V 进行 n 次操作。的区间合并,得到若干个不重叠的区间。请你输出所有操作完成后的数组 V。原创 2023-02-14 21:24:11 · 1264 阅读 · 2 评论 -
【蓝桥杯集训·每日一题】AcWing 3956. 截断数组
(2)首先判断所有元素总和是否能被3整除,如果不能被3整除,说明无法进行分割。如果可以被3整除,说明三个子数组的和均为。直到遍历完所有第二分割点可能的位置,统计分割方式总数,输出即可。给定一个长度为 n 的数组 a1,a2,…现在,要将该数组从中间截断,得到三个非空子数组。第二行包含 n 个整数 a1,a2,…,则说明以该位置为第二分割点的分割方式总共有。(3)从前往后依次枚举第二个分割点,同时用。请问,共有多少种不同的截断方法?输出一个整数,表示截断方法数量。如果第二个分割点位置的前缀和为。原创 2023-02-13 21:34:53 · 1233 阅读 · 8 评论