自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(225)
  • 收藏
  • 关注

原创 蓝桥杯备考,二维前缀和之领地选择

【代码】蓝桥杯备考,二维前缀和之领地选择。

2025-04-01 19:43:17 67

原创 蓝桥杯备考:多重背包之砝码称重

step1:定义状态表示 f[i][j]表示从1到i个砝码里是否能选出恰好重量为j。我们就正常按动态规划来分析,每个砝码都有x[i]个,我们要找到所有能 称到的数量。step4:结果就存在f[n][j]里,j从1到1000,重量为0不算一个情况。step2:推导状态转移方程。

2025-04-01 18:52:25 45

原创 蓝桥杯备考----》多重背包求方案问题《摆花》

step1:定义状态表示 f[i][j]表示从1到i种花里面选出不超过j盆花的方案。我们已经说了,如果是要求方案的话,我们是不能用二进制来优化的。step3:初始化:除f[0][0]初始化为1,其他都默认0。如果要优化成一维的化,我们要看一哈填表顺序,应该是。step4:结果:结果应该存在f[n][m]里。so,我们就按照普通的动态规划来做一下。step2:推导状态转移方程。

2025-04-01 17:59:53 44

原创 蓝桥杯备考---->二进制优化多重背包

当然我们这种方式是不适用于求有多少策略的,因为如果要求多少策略的话,某个物品选2个和选2个 和某个物品选1个和选3个会记作两个策略,实际上他俩都是一个物品选了四次,其实就是一个策略,我们最终结果就偏大,当然,我们要是求个最大价值最小价值还是能求滴。本题,每个物品最多为20个,20可以拆成1+2+4+8+5,所以最多情况就是物品多出五倍来。比如说某个物品我们有15个,我们可以把它拆成1个,2个,4个,8个,之前我们说过了普通版本的多重背包,接下来我们将会说说怎么优化。

2025-04-01 16:56:26 468

原创 蓝桥杯备考------>疯狂的采药,完全背包问题

step1:定义状态表示 f[i][j]表示从1到i个草药里选出采摘时间不超过j的最大价值。step4:结果,结果就在f[n][m]step3 初始化,全部初始化为0。step2:推导状态转移方程。

2025-04-01 16:32:13 170

原创 蓝桥杯备考:拓扑排序之摄像头

当然,本题是给的位置,不是所有位置都有摄像头,我们只要摄像头的位置,这道题是一道拓扑排序题,我们只要看环里面有多少个摄像头成环儿了就行。

2025-04-01 16:14:13 27

原创 六级词汇量积累day13

achievement = accomplishment = 成就。indispensable 重要的,必不可少的。fundamental 基础的,基本的,根本的。competent 有竞争力的,有能力的。conserve 存储,储藏物,果酱。certificate 证书,文凭。subordinate 下级,差的。accomplish 完成,实现。contention 争论,观点。coordinate 协调,调整。primary 最重要的,基础的。enclose 把...围起来。

2025-03-31 23:20:48 292

原创 蓝桥杯备考:动态规划dp背包之,多重背包

老样子,我们还是先定义状态表示f[i][j]表示从1到i个背包里,选出重量不超过T的最大价值。这里我们多重背包就没办法和完全背包一样做优化了,因为我们多重背包毕竟选的数量是受限制的。下一篇文章我们来说一下二进制优化版本的多重背包~第四步,结果就存储在我们的f[n][m]里面。第三步,初始化,我们全部初始化为0就行了。接着我们推导状态转移方程。

2025-03-31 23:03:51 126

原创 蓝桥杯备考----》完全背包模板

可以看到,我们更新一维数组的时候,我们需要当前位置和左边位置的元素,所以我们必须得先把左边位置更新出来才行,所以我们必须从左往右更新才正确。可以推出f[i][j]其实就是等于max(f[i-1][j],f[i][j-v[i]+w[i])step1:定义状态表示 f[i][j]表示的是从1到i个物品里选出恰好体积为j的物品的最大价值。step1: f[i][j]表示从1到i个物品里选出体积不超过j的最大价值。我们再写一下f[i][j-v[i]]的表达式。step4:结果就存在f[n][V]里。

2025-03-31 22:46:10 215

原创 蓝桥杯备考---》贪心算法之矩阵消除游戏

因为我们的k最高是n*m,假如不选行,全选列,列是不够选的啊,我们应该对col的遍历范围做点限制,不能超过m。我们第一次想到的贪心策略一定是找出和最大的行或者列来删除,每次都更新行和列。比如如图这种情况,这种情况就不如直接删除两行的多,所以本贪心策略有误。so我们可以枚举选的行的情况,然后再贪心的选择列和最大的列来做。这样写是有bug的,我们选列的时候有可能会越界。

2025-03-31 21:58:14 330

原创 蓝桥杯备考:贪心算法之排座椅

这道题的贪心策略就是每次都选能阻碍最多的横线或者纵线,我们可以把每个位置和阻隔学生数量绑定在一起,可能会想到哈希表或者数组,但是我们还要根据阻隔学生数量进行排序,so我们得开个结构体,然后写个cmp来规定排序才好,最后再把排好序的,如果阻隔数量相等的,按位置从小到大排序,也就是说我们需要排两次序。好的,我们来写一下代码吧。

2025-03-31 13:48:06 132

原创 蓝桥杯备考---》贪心算法之纪念品分组

我们要输出最少的分组策略,我们可以贪心,每次都选最大的和最小的,如果刚好满足<=v,就分好,如果大于,说明只能让最大的一个一组。过程可以用双指针实现。

2025-03-31 13:19:19 211

原创 蓝桥杯备考:贪心算法之最大字段和

先说,贪心策略,贪心策略就是我们从头开始选数,如果是正的说明对后面有贡献就继续往后加,如果是负的就舍弃这一段,从下一个开始往后加,代码很简单,我们来证明一下我们的贪心策略。

2025-03-31 13:12:31 155

原创 蓝桥杯备考----》贪心之货舱选址

如果是偶数个的话,我们选择中间两个商店哪个商店都行,而如果是奇数个的话,我们必须选择最中间的那一个。这道题我们的贪心策略就是把货舱选址放在中间的位置。

2025-03-31 12:57:17 108

原创 蓝桥杯备考---->并查集之 Lake Counting

因为我们是从上往下遍历的,我们遍历到某个位置的时候,它已经和上面部分合并完了,我们只需要考虑右边和下边就行了。最后我们的答案就是有多少个连通块,也就是多少个是W并且fa[i]=i。这时候我们又需要把二维转成一维了,也就是把每一个格子都给一个编号。当我们合并连通块的时候,其实是只需要四个方向的。这道题就统计有多少个连通块就行了。

2025-03-30 17:19:20 148

原创 蓝桥杯备考:BFS之八数码难题(涉及到二维左边怎么转换成一维)

我们可以用第二种方式,通过把二维坐标转化成一维坐标,完事儿直接在字符串里进行操作就行了。我们有两种方案 第一种方案就是先把字符串转换成矩阵,然后再移动,再转换成字符串。我们可以把每个矩阵用一个字符串表示,当达到目标字符串时,bfs结束。我们的剪枝策略就是如果遇到了之前出现过的的矩阵就剪掉。那我们的这个二维坐标应该如何转换成一维坐标呢?那这个过程我们怎么转换字符串呢?这道题还是用BFS找最短的路。

2025-03-30 13:23:51 173

原创 蓝桥杯备考:BFS之Catch That Cow S

我们的剪枝策略就是如果走到已经标记过的数,就跳过,因为这条路一定不是最短的。这道题一样,我们可以用BFS层序遍历的方式来做。

2025-03-30 12:43:00 186

原创 蓝桥杯备考------>双指针(滑动窗口)

step3:判断是否为合法区间 即mp[a[r]]<=1→如果不合法就step5:出窗口 也就是不断让mp[a[l]]-- l++,直到mp[a[r]]<=1。依旧是到这里停止,我们其实啊,没必要非得每次枚举都退回去,我们可以让l++,直到达到合法的区间之后,再继续往后枚举长度。而滑动窗口时间复杂度只是O(N),我们最差的情况就算l和r把数组都扫描了一遍,此时时间复杂度是N+N 也就是O(N)当我们到这个状态的时候,别让r退回去了,我们让左指针不断加加,直到达到一个合法的区间之后,再让r往后走。

2025-03-29 20:16:33 293

原创 蓝桥杯备考:多米诺骨牌

如图这就是我们的状态转移方程,由于它既是需要上面的左边区域也是需要上面的右边区域,so不能进行空间优化了。但是有一点就是,我们的和是可能是负数的,那时候我们怎么存?step1:定义状态表示f[i][j]表示从1到i个编号的差值里选出刚好j个数的最小操作次数。我们发现,最大的情况就是上面全部都是6,下面全是1,这时候我们的差值的和就是5000。我们设x遍历1到5000,比较x和-x,如果有答案,取最小的数。把f[0][0]初始化为0,其他的全初始化为无穷大。step4:结果怎么看,下面是我们实现的代码。

2025-03-29 19:07:27 355

原创 蓝桥杯备考------>二维差分板子题之地毯

这道题如果不会差分的话很难,但是我们会了差分,可以用差分来做,就变得简单多了。

2025-03-29 18:07:33 282

原创 蓝桥杯备考------>二维差分

很好,这样来看的话,我们的公式就是f[x1][y1]+=k,f[x1][y2+1]-=k f[x2+1][y1]-=k,f[x2+1][y2+1]+=k。如果我们对一个点加值,那么原矩阵在该点下面的值都会加上这么一个k,我们需要限制范围,我们不是让所有矩阵都加上一个k,我们只是让中间的小矩阵加k。我们可以把每个点都看成从i,j到i,j,代入公式,就能构建我们的二维矩阵了。接下来我们学一下二维的,学之前我们要直到二维差分是干啥的?那我们如何构建我们的二维矩阵呢?那,之前我们学了一维差分怎么做。

2025-03-29 17:53:57 214

原创 蓝桥杯备考:螺旋矩阵

当然,如果我们第一次不是在边界,就要把外层剥开去n-2*n-2的子矩阵里继续寻找我们的目标值,这时候我们要找的位置就是i-1,j-1 开始位置就是begin+4*(n-1) 新的矩阵大小就是n-2*n-2。i=n的时候,ret = 2*(n-1)+(n-j+1) 化简之后就是 begin+3*n-1-j。j=1的时候,ret = 3*(n-1)+(n-i+1) 化简之后begin+4*n-2-i。我们不断的把包围矩阵的外层剥开,然后看看我们要查询的新值是不是在新矩阵的外围里面。

2025-03-29 17:31:36 263

原创 蓝桥杯备考:拓扑排序+DFS(信息传递)

我们可以用拓扑排序把环之外的元素打上标记,然后用遍历没打上标记的元素,统计环的元素个数,当然,我们可能不只有一个环,我们取得所有环的最小值就行了。本题我们只要求环有多少元素就有多少回合游戏。

2025-03-28 17:16:12 212

原创 蓝桥杯备考:贪心问题之均分纸牌

咱的贪心策略就是每次分好一个堆儿,如果某个堆已经是满足题意了,就不用管这个堆了,否则要向下一个堆借几个元素。

2025-03-28 16:46:32 143

原创 蓝桥杯备考:模拟算法之排队接水

简单的模拟就行了,把他们的时间排序,时间最少的先上,然后算出每个人的等待时间的平均值。

2025-03-28 16:33:18 276

原创 蓝桥杯备考:图论之拓扑排序

step2:依次删除队列里的队头结点,每次删除的时候把连着该结点的边也删掉,并且把新的入度为0的点加入进来。拓扑排序的目标就是把有向无环图中的所有结点排序,使得排在前面的结点不会依赖后面的结点。拓扑排序是一种无环的有向图的排序,了解拓扑排序之前,我们先了解一下什么是AOV图。如果队列里有环,是不能把所有结点都排上序的,所以拓扑排序还可以判断图里有没有环。流程如下:step1:找到所有入度为0的点,加入到队列中。step3:直到队列中没有结点了,此时排序结束。好的,我们来做一下模板题。

2025-03-28 11:13:57 255

原创 蓝桥杯备考:kotori和迷宫(简单BFS)

【代码】蓝桥杯备考:kotori和迷宫(简单BFS)

2025-03-28 10:40:27 169

原创 蓝桥杯备考:BFS之马的遍历

如图,就这么走,我们按基础的bfs遍历一下标记每个格子的最短的路径就行了,没到达的格子就设置为-1。这道题我们得知道象棋里的马能怎么走,应该是按日字走的。

2025-03-27 23:03:28 291

原创 蓝桥杯备考:DFS之数独

这道题的意思是每个3*3的格子只能有1到9九个数字,每行只能有1到9九个数字,每列也只能有1到9每个数字,我们可以开个col[N][N]表示某一列出现过的数字。row[N][N]表示某一行出现的数字,st[N][N][N]表示每个3*3的子矩阵里出现的数字。话说到这里,我们已经可以实现代码了。

2025-03-27 22:34:01 293

原创 蓝桥杯备考:八皇后问题

八皇后的意思是,每行只能有一个,每个对角线只能有一个,每一列只能有一个,我们可以dfs遍历每种情况,每行填一个,通过对角线和列的限制来进行剪枝。话不多说,我们来实现一下代码。

2025-03-27 21:37:55 200

原创 蓝桥杯备考:真题之飞机降落(暴搜+小贪心)

如果飞机飞到机场的时刻是大于原来的end的,我们就让ti+li作为newend。这是我们的枚举,算是排列型枚举,我们根据某架飞机能不能降落来做剪枝。那么,我们降落的时候怎么确定新的起点也就是newend呢?我们最多有十架飞机,可以选择dfs暴力搜索,枚举每种情况。否则,我们就让end作为newend。这种情况就是从end直接开始降落。这种情况就是从ti开始降落。

2025-03-27 21:10:30 334

原创 六级词汇积累 (day12)

multitude n.许多,大量 a multitude of = many。multinational 跨国的,跨国公司。insurance company 保险公司。multiple 许多,大量 = many。radient 辐射的,灿烂的,容光焕发的。privileged 有特权的,荣幸的。the state grid 国家电网。appropriate 恰当的,合适的。multiply 乘,繁殖,迅速增加。reciprocal 互惠的,相互的。consistent 相同的,一致的。

2025-03-27 20:39:11 559

原创 六级词汇量积累(day12)

claim 宣称,声称 大声喊 = deem。be acquianted with 熟练。trivial 琐碎的事 不重要的事情。definitive 最后的,决定性的。supportive 支持的,支撑的。be exposed to 暴露在。portable 便携的,手提电脑。indebted 负债中,感激的。defination 解释,定义。enterprise 公司,企业。entreprenour 企业家。disposable 一次性的。indefinate 不确定的。a car wreck 车祸。

2025-03-26 22:51:17 1668 2

原创 蓝桥杯备考---->激光炸弹(二维前缀和)

本题我们可以构造二维矩阵,然后根据题意,枚举所有边长为m的正方形,找到消灭价值最多的炸弹。

2025-03-26 20:08:33 201

原创 蓝桥杯备考:二维前缀和模板

我们还得会用这个二维矩阵解决问题,比如说要求x1 y1到x2 y2两个点之间的子矩阵和,我们应该怎么求。当我们要在一个二维矩阵里查询某个子矩阵的和的时候,最常规的方法就是遍历这个子矩阵。但是有时候会超时,so我们可以选择用二维前缀和存储(1,1)到各个点的子矩阵的和。这就是我们的模板题了,非常任意就能做出来。这个就是我们递推的公式。

2025-03-26 15:19:43 140

原创 蓝桥杯备考----->DFS组合型枚举,选数问题

【代码】蓝桥杯备考----->DFS组合型枚举,选数问题。

2025-03-26 14:40:27 507

原创 六级备考 词汇量积累(day11)

verdict 陪审团的裁定,裁决。flexible 灵活的,易弯曲的。elastic 有弹力的,橡皮筋。professional 专业的。defaulty 违约,违反。conception 设想。rebel 反对者,叛逆者。justice 公正,正义。outrage 愤怒,愤慨。testify 证明,证实。confession 坦白。sculpture 雕像。allege 指责,声称。breach 违背,违反。pursue 追求,追逐。testimony 证词。professor 教授。

2025-03-25 23:46:04 311

原创 蓝桥杯备考----->Cow Picnic (BFS)

这道题全是英文,我们看一下 第一个输入的数应该是奶牛的个数,第二个是牧场个数,第三个是牧场间的联系个数。我们只要从每个奶牛所在牧场为起点,遍历一下整个图,把遍历的点记录在一个cnt数组里面,只要是遍历过k个的点,就是所有奶牛都能。接下来k行是奶牛位置,m行是所有联系。到达的牧场,好,我们来写一下代码吧。

2025-03-25 19:40:45 458

原创 蓝桥杯备考----> Apple Catching G(线性DP)

又因为我们知道了初始位置是树1,那说明我们移动1次是到2,移动2次是到1,移动3次再到2,也就是说移动奇数次就是到2,移动偶数次就是到1。每分钟都掉一个苹果,可能是在1树也可能在2树,移动次数有限,我们可以用线性dp来做。step1:定义状态表示 f[i][j]表示,表示的是在移动j次接到的苹果数量。好,我们按照动态规划的步骤来想一下。step2:推导状态转移方程。

2025-03-25 19:17:03 237

原创 蓝桥杯备考:差分数组+贪心Tallest Cow S

我们可以把每头牛都初始化为最高值,然后根据给的信息来进行调整,信息给的两个边界值要求的是a的高度小于等于b的高度,我们直接让他们两个高度相等就行了。但是有个细节需要注意的就是,如果有相同的区间的话,其实我们只需要减1次,我们可以用set来维护。这道题给出了最高的牛的编号和高度,需要我们让每一头牛的高度最高。根据题目的测试用例,我们的贪心想法是正确的。我们就让每个端点值不变,中间的值每次减1,这道题考察的是差分数组+贪心。

2025-03-25 16:23:11 240

数据库期末带做2欢迎大家来看哈

数据库期末带做2欢迎大家来看哈

2024-12-29

数据库期末试卷分享,欢迎大家来看

数据库期末试卷分享,欢迎大家来看

2024-12-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除