![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
蓝桥杯
文章平均质量分 60
Hsianus
这个作者很懒,什么都没留下…
展开
-
【蓝桥杯】LCA(最近公共祖先)Least Common Ancestor
这种描述是基于树结构的。树实际上就是图论中的有向无环图。而要研究LCA问题,首先我们要指定树中的一个顶点为根节点,并以该节点遍历有向无环图,生成一颗DFS序下的树。假设我们要查询的两个节点为u和v,DFS序下根节点到两点的最短路径分别是(r,u),和(r,v),LCA就是(r,u)与(r,v)公共路径的最后一个节点,如下图所示,w即为LCA。原创 2024-04-08 19:28:35 · 344 阅读 · 1 评论 -
【蓝桥杯】LIS
每扫描一个新的元素,我们需要判断a[i]与low[max]的大小,如果a[i]大于low[max],则low[++max]=a[i];如果a[i]小于low[max],从max向前回溯,找到第一个a[i]小于low[j]的j值,low[j]=a[i],重复上述操作,直至扫描完整个序列。注意在回溯过程中,由于low [ i ]记录的是元素的最小值,那么low数组是一个有序数组,则可以利用二分查找,二分一次 low 数组的时间复杂度为O(logn),所以总的时间复杂度是O(nlogn)。原创 2024-04-08 19:28:18 · 556 阅读 · 0 评论 -
【蓝桥杯】GCD与LCM
最大公约数(GCD)和最小公倍数(Least Common Multiple,(a, b)来计算最大公约数。原创 2024-04-04 20:42:49 · 807 阅读 · 0 评论 -
【蓝桥杯】矩阵快速幂
求A^B的最后三位数表示的整数,A^B表示:A的B次方。原创 2024-03-30 21:58:04 · 517 阅读 · 0 评论 -
【蓝桥杯】tarjan算法
Tarjan 算法是的算法,用于问题。原创 2024-03-26 22:10:15 · 917 阅读 · 0 评论 -
【蓝桥杯】RMQ(Range Minimum/Maximum Query)
RMQ问题,暴力解法是对每个询问区间循环求解,设区间长度n,询问次数m,则复杂度是O ( nm )。一般还可以使用线段树求解,复杂度是O(mlogn)。但还有一种更简便的ST算法,预处理复杂度是O(nlogn),查询O(1)。原创 2024-03-20 16:35:01 · 414 阅读 · 0 评论 -
【蓝桥杯】线段树
线段树是算法竞赛中常用的用来维护区间信息的数据结构。线段树可以在O(logN) 的时间复杂度内实现单点修改、区间修改、区间查询(区间求和,求区间最大值,求区间最小值)等操作。原创 2024-03-16 19:54:55 · 358 阅读 · 0 评论 -
【蓝桥杯】小明的背包2(DP)
dp[i][j]=dp[i-1][j],表示的含义就是不加入第i种产品,与此同时,我们还需要考虑加入第i种产品,问题来了,那需要加几个呢,所以嵌入了一个内循环,k从1开始,一直循环到背包容量所能承受的最大件数。每次都要去看,max(dp[i][j],dp[i-1][j-k*item[i].weight]+k*item[i].value),哪个值更大。注意,这里一定要用dp[i][j]。我们使用一个二维数组来解决问题,dp[i][j]表示从第1个到第i个物品中进行选取,装入容积为j的背包中商品的总价值。原创 2024-03-16 17:29:02 · 475 阅读 · 0 评论 -
【蓝桥杯】并查集
并查集是一种树形数据结构,它主要处理一些问题。给定一个元素,可以很快找到这个元素所在集合的代表;给定两个元素,判断他们是否处于同一个集合,如果不是,可以将两元素分别所处集合进行合并。原创 2024-03-15 10:10:26 · 476 阅读 · 0 评论 -
【蓝桥杯】单词分析 (BF)
【代码】【蓝桥杯】单词分析 (BF)原创 2024-03-08 10:47:32 · 522 阅读 · 0 评论 -
【蓝桥杯】k倍区间
由此,我们可以利用上述结论:对于第i个数,我们只需要知道下标在1~i-1范围内有多少个和下标为1~i范围内数之和同余数的区间,该值等于新加入了第i个数之后k倍区间增加的数目。首先,对于两个数a,b(假设a小于b),若a与b对k取余后结果相同,则b-a可以整除k。对于该问题,标签上写的是暴力,但是如果使用暴力的话,会超时。原创 2024-03-08 10:25:53 · 303 阅读 · 0 评论 -
【蓝桥杯】路径之谜(DFS)
小明冒充 X 星球的骑士,进入了一个奇怪的城堡。城堡里边什么都没有,只有方形石头铺成的地面。假设城堡地面是 n×n 个方格。如下图所示。按习俗,骑士要从西北角走到东南角。可以横向或纵向移动,但不能斜着走,也不能跳跃。每走到一个新方格,就要向正北方和正西方各射一箭。(城堡的西墙和北墙内各有 n个靶子)同一个方格只允许经过一次。但不必走完所有的方格。如果只给出靶子上箭的数目,你能推断出骑士的行走路线吗?有时是可以的,比如上图中的例子。原创 2024-03-07 21:55:18 · 500 阅读 · 0 评论 -
【蓝桥杯】赢球票(模拟、枚举、搜索)
某机构举办球票大奖赛。获奖选手有机会赢得若干张球票。主持人拿出 N 张卡片(上面写着 1~N 的数字),打乱顺序,排成一个圆圈。你可以从任意一张卡片开始顺时针数数: 1,2,3..... 如果数到的数字刚好和卡片上的数字相同,则把该卡片收入囊中,从下一个卡片重新数数。直到再无法收获任何卡片,游戏结束。囊中卡片数字的和就是赢得球票的张数。比如:卡片排列是:1 2 3我们从1号卡开始数,就把1号卡拿走。再从2号卡开始,但数的数字无法与卡片对上,很快数字越来越大,不可能再拿走卡片了。原创 2024-02-29 19:44:58 · 488 阅读 · 0 评论 -
【蓝桥杯】分巧克力
【代码】【蓝桥杯】分巧克力。原创 2024-02-27 21:35:07 · 412 阅读 · 0 评论 -
【蓝桥杯】三阶幻方(暴力)
小明最近在教邻居家的小朋友小学奥数,而最近正好讲述到了三阶幻方这个部分,三阶幻方指的是将1~9不重复的填入一个3*3的矩阵当中,使得每一行、每一列和每一条对角线的和都是相同的。三阶幻方又被称作九宫格,在小学奥数里有一句非常有名的口诀:“二四为肩,六八为足,左三右七,戴九履一,五居其中”,通过这样的一句口诀就能够非常完美的构造出一个九宫格来。4 9 23 5 78 1 6有意思的是,所有的三阶幻方,都可以通过这样一个九宫格进行若干镜像和旋转操作之后得到。原创 2024-02-27 15:04:46 · 503 阅读 · 0 评论 -
【蓝桥杯】青蛙跳杯子(BFS)
输入为 2 行,2 个串,表示初始局面和目标局面。我们约定,输入的串的长度不超过 15。原创 2024-02-26 20:21:45 · 289 阅读 · 0 评论 -
【蓝桥杯】对局匹配(dp)
小明喜欢在一个围棋网站上找别人在线对弈。这个网站上所有注册用户都有一个积分,代表他的围棋水平。小明发现网站的自动对局系统在匹配对手时,只会将积分差恰好是K的两名用户匹配在一起。如果两人分差小于或大于K,系统都不会将他们匹配。现在小明知道这个网站总共有N名用户,以及他们的积分分别是A1, A2, … AN。小明想了解最多可能有多少名用户同时在线寻找对手,但是系统却一场对局都匹配不起来(任意两名用户积分差不等于K)?原创 2024-02-26 16:22:52 · 477 阅读 · 0 评论 -
【蓝桥杯】着色问题 DFS
存在一个无向图,要求给图中的点涂色,并且有线连接的点之间不能是同一种颜色。原创 2024-02-25 16:50:48 · 614 阅读 · 0 评论 -
【蓝桥杯】欧拉筛
找到一个素数后,就将它的倍数标记为合数,也就是把它的倍数“筛掉”;如果一个数没有被比它小的素数“筛掉”,那它就是素数。原创 2024-02-18 21:05:27 · 189 阅读 · 0 评论 -
【蓝桥杯】算法模板题(Floyd算法)
用途:用来求解。思想:Floyd算法又称为插点法,是一种利用的思想寻找给定的中多源点之间的算法。1)初始化:使用邻接矩阵初始化dist数组2)依次考察每个顶点:在当前dist数组中依次加入各个顶点,考察是否对最短路径产生影响。如果路径变短,则更新dist数组和path数组。原创 2024-02-18 20:10:18 · 1146 阅读 · 1 评论 -
1【算法】——最大子数组问题(maximum subarray)
假如我们有一个数组,数组中的元素有正数和负数,如何在数组中找到一段,使得子数组各个元素之和最大。原创 2024-02-11 20:41:43 · 400 阅读 · 0 评论 -
【蓝桥杯1】栈
时间限制:1s 内存限制:256MB给定n个整数输入的第一行包含一个整数n第二行包含n个整数输出一个整数S,表示所求的和。请使用合适数据类型进行运算。41 3 6 9117提示:对于30%的数据,对于所有测评用例,原创 2024-01-16 10:13:18 · 1089 阅读 · 0 评论