自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 蓝桥杯DFS算法题(java)

链接:https://www.lanqiao.cn/problems/2410/learning/?page=1&first_category_id=1&second_category_id=3&problem_id=2410这题就是很明显的dfs。这道题的题意就是,让我们找一个全为1的连通分块,因为会有很多种连通分块,我们只需要找到最长的,即含1最多的连通分块就可以,然后把1的个数输出即可。就是我觉得这种需要你上下左右去遍厉二维数组的dfs题,一般都是以下思路(一般迷宫类的好像都是这么个思路):

2025-04-02 17:16:15 619

原创 gcd与lcm(java)

一般我们都写gcd(int a,int b),此时一般都会保证a > b,然后我们用较大的数a / 较小的数b,接着在反复的用除数和余数做除法运算,直到余数为0的时候,取此时的除数作为最大公约数即可,在此题中,即return a。lcm是最小公倍数,我们可以这么求,lcm(a,b) = a / gcd(a,b) * b,所以求lcm我们只需要把gcd找到就好办多了。然后呢,gcd(int a ,int b)我们都求出来了,那么lcm(int a,int b)就非常好算了。下面是具体的求解思路。

2025-04-01 09:40:22 170

原创 L2-001紧急救援(java)

看懂题解我觉得不是一个容易的事,每次都得从若干大佬的题解中,找到一篇最适合自己的,不过这道题确实让我对以往的学习态度有了一定的反思,这应该是做的第一道和图有关的题目,希望以后继续努力,关关难过关关过。,为什么这么说,因为你没松弛到v的时候,你到u的最短路径条数就是num[u],但是现在不一样,v是u的后继,你到v的话,可以选择经过u再经过v,也可以选择直接到v,所以就分别对应着num[u]、num[v]种,到v的最短路径条数就是。是的,我也是这时注意到的。因为v是u的后继,紧跟着u的,不可能有第二条。

2025-03-30 00:59:48 530

原创 PTA_L1-011 A-B(java)

直接再声明一个变量index,从0开始,如果遇到了这个字符的flag是false,我们直接让a[index] = a[i]。答案是不会的,因为index只会<=i,为什么呢,因为你只有在字符的flag为false的时候index才++,但是A里面肯定会含有flag为true的字符,所以index只会<=i。然后就找到了这样一份代码,我们声明一个boolean类型的数组flag,用来标记128ascii字符是否是B里面的,如果是的话,我们就标记为true,不是就是false。很遗憾,还是没拿满。

2025-03-24 13:00:32 222

原创 轻量化模型 知识蒸馏

softmax就是上述数学函数,可以把模型的原始输出logits转换为概率分布。logits未归一化的Y softmax映射后,Y就归一化。

2025-03-24 11:56:59 769

原创 蓝桥杯_拔河_java

转化成题意可以这么理解,区间1选了[a,b],区间2选了[c,d](a+b > c+d),假设这个差就是最小的,但是你们老师觉得人有点少,给区间1,2分别找了一个人,对应e,f,恰好的是e,f力量一样。这么看最后他们的力量差还是不变的。比如一共5个人,编号是{1,2,3,4,5},你可以选{1,2},{5};你看上边那个区间的值是s1+s2,下边的是s3+s4,又因为s2=s3,所以做完差之后,其实就是s4-s1的值,也就是说虽然一开始区间[0,5]和[3,7]有覆盖的部分,但是并不影响最后的结果。

2025-03-18 12:49:10 509

原创 蓝桥杯_商品库存管理_java

在库存管理系统中,跟踪和调节商品库存量是关键任务之一。小蓝经营的仓库中存有多种商品,这些商品根据类别和规格被有序地分类并编号,编号范围从 1 至 n。初始时,每种商品的库存量均为 0。为了高效地监控和调整库存量,小蓝的管理团队设计了 m 个操作,每个操作涉及到一个特定的商品区间,即一段连续的商品编号范围(例如区间 [L,R])。执行这些操作时,区间内每种商品的库存量都将增加 1。然而,在某些情况下,管理团队可能会决定不执行某些操作,使得这些操作涉及的商品区间内的库存量不会发生改变,维持原有的状态。

2025-03-15 23:20:53 704

原创 conda的基本使用及pycharm里设置conda环境

把your_env_name换成实际的conda环境名称,python=后边的根据自己的需要,选择python的版本。如果右下角py37前边是绿圈圈,就说明你设置成功啦!比如我选的是py37这个环境。

2025-03-15 14:58:21 802

原创 蓝桥杯_数字诗意_java

在诗人的眼中,数字是生活的韵律,也是诗意的表达。小蓝,当代顶级诗人与数学家,被赋予了"数学诗人"的美誉。他擅长将冰冷的数字与抽象的诗意相融合,并用优雅的文字将数学之美展现于纸上。某日,小蓝静坐书桌前,目光所及,展现着 n 个数字,它们依次为 a1,a2,…,an​,熠熠生辉。小蓝悟到,如果一个数能够以若干个(至少两个)相加表示,那么它就蕴含诗意。例如,数字 6 就蕴含诗意,因为它可以表示为 1+2+3。而 8 则缺乏诗意,因为它无法用连续的正整数相加表示。

2025-03-15 00:15:04 445

原创 蓝桥杯_回文数组_java

(我设置的是左边的-右边的),上述数组[1,2,3,4,5,6]的diff[]就是[-5,-3,-1]。比如[1,2,3,4,5,6]的diff为[-5,-3,-1],第一次操作后,diff变成[-2,0,-1],然后现在我们没法同时选两个相邻的数了,里面的-2、-1就是没有被抵消的。首先回文数组可以理解成是轴对称的,比如[1,2,3,2,1],[2,3,4,4,3,2]这种。我们先举个例子,比如给你一个数组[1,2,3,4,5,6],我们可以先求一个。后面两次操作将 a1加 1,变为 4,3,3,4。

2025-03-14 23:37:49 558

原创 蓝桥杯_最大区间_java

而且很显然,R、L他们表示的是涵盖这个最小值数的区间的左右端点,那么我们就可以从这个最小值入手,尽可能从最小值的位置往两边扩散,直到扩散到的地方不满足当前位置的数为该区间的最小值即可。就是我们找到的L是实际区间前一个位置,R是实际区间后一个位置,所以我们直接R-L-1才是真正的区间长度。然后因为都是找小于当前元素的,所以左右两边的判断条件应该是一致的,都是栈顶元素>=当前元素的时候,栈顶元素出栈。stackl,stackr就是单调栈,分别帮助我们找左边的小于这个数的索引,还有右边小于这个数的索引。

2025-03-14 14:52:04 449

原创 D-双生双宿之决

来源:牛客网。

2025-01-22 23:00:27 354

原创 B-装进肚子

来源:牛客网。

2025-01-02 23:20:41 349

原创 回溯法求解子集和问题

使该子集中所有元素的和为。,则满足要求的子集为(

2024-11-15 16:12:30 216

原创 牛客周赛64 D小红和小紫的博弈游戏

那么这样分组有什么好处呢:鉴于每次都选相邻的格子,所以小红和小紫两人每操作一次的话,(a,d)、(b,c)两个分组各自的元素和都会减1,当他们各自分组和只要有一组到达了0,那么不论怎么选都不能确保选到了相邻的两个格子里的数均大于0。因为每次都要选择两个相邻的格子,且这两个格子里的数都是正整数,那么,我们不妨这样进行一个分组:(a,d),(b,c)。为什么这样分呢:因为你要在2*2的矩阵里选择相邻的格子,他们肯定一个属于主对角线上(a,d),另一个属于副对角线上(b,c)。

2024-10-21 21:23:03 235

原创 蓝桥云课_构造数字

循环第二次,填的就是正整数的次高位,以此类推... ...在每次的循环中,我们要判断M与9的大小,如果M >= 9,我们就System.out.print(9),然后M -= 9,然后直接进行下一次循环;如果M < 9,就直接System.out.print(M);只有M >= 9的时候,没填元素的高位一定要填上9,这样才能保证在当前的所有情况下,99......是最大的。首先N是十进制正整数的位数,并且这N位元素的和不超过M,如果要这个正整数最大,那么高位的数字一定要大,那最大能是多少呢,那肯定是9。

2024-10-18 23:08:12 275

原创 牛客周赛 Round 63 C

来源:牛客网。

2024-10-14 17:34:01 346

原创 B_tb的字符串问题 牛客小白月赛101

【代码】B_tb的字符串问题 牛客小白月赛101。

2024-09-28 14:42:37 254

原创 A_tb的区间问题 牛客小白月赛101

通过上述表达我们可以知道,进行完这一系列操作之后,数组A一定会变成n-k个索引连续的数组B,这个B数组可能会是A的前n-k个,也可能是中间的n-k个,也可是最后n-k个。这道题给定了一个长为n的数组A,让你对数组A进行k次操作:每次删除数组第一个元素或者删除数组最后一个元素,然后求最终得到的数组和的最大值。,先去计算A数组前i个元素之和,然后我们从j = n-k这个初始位置进行遍历,已知遍历到A数组末尾,用。所以问题就转化成了,A数组中,所有n-k大小的区间中,元素和的最大值是多少。

2024-09-28 14:20:00 358

原创 小兰的神秘礼物 回溯法求解

但是,为了增加神秘感,她希望箱子装得尽可能满,剩余的空间最小。代码中的rw变量我一直误解了很久,一直以为是背包的剩余总空间,其实是还未选到的所有物品的总重量,改了好久,最后重新看了下书才发现自己之前理解错了。因为现在在学回溯法,于是这道题我就用的回溯法求解的,唯一不足的是,有一类样例它会超时T_T,看的题解基本都用的是动态规划,可惜自己太菜T_T。谨以此篇,来记录一下尝试的第一道回溯法题目,只通过了90%的数据,有点遗憾;接下来的 nn 行,每行包含一个正整数 xx,表示第 ii 个小物件的体积。

2024-09-27 23:27:41 696

原创 洛谷P1610鸿山洞的灯

【代码】洛谷P1610鸿山洞的灯。

2024-04-09 23:03:04 321 1

原创 洛谷P1478陶陶摘苹果(升级版)

【代码】洛谷P1478陶陶摘苹果(升级版)

2024-04-09 22:59:39 365 1

原创 蓝桥杯_跳石头

一年一度的"跳石头"比赛又要开始了!这项比赛将在一条笔直的河道中进行,河道中分布着一些巨大岩石。组委会已经选择好了两块岩石作为比赛起点和终点。在起点和终点之间,有 NN 块岩石(不含起点和终点的岩石)。在比赛过程中,选手们将从起点出发,每一步跳向相邻的岩石,直至到达终点。为了提高比赛难度,组委会计划移走一些岩石,使得选手们在比赛过程中的最短跳跃距离尽可能长。由于预算限制,组委会至多从起点和终点之间移走MM 块岩石(不能移走起点和终点的岩石)。

2024-03-25 22:18:11 1529

原创 蓝桥_寻找食物储量

这一题用找前任/后任都可以通过,不过我觉得使用找后任的方法虽然能通过所有的数据,但是万一有若干个相同的x出现,那么找到的索引就是最右侧的x索引,此时就与题中要求(找到第一个>=x的房子编号)相矛盾,所以这个地方我比较推荐使用找前任的方法。你的任务是编写一个程序,根据每个房间的食物数量和目标值 x,输出第一个食物数量大于或等于 x 的房间的编号。第一行包含一个整数 n,(1≤n≤105)(1≤n≤105),表示房间的数量。对于 100% 的数据,1≤n≤1e6,并且每个房间的食物数量不超过 1e9。

2024-01-27 22:21:19 886 4

原创 牛客周赛Round29_小红的小小红

来源:牛客网。

2024-01-22 11:04:56 547

原创 牛牛与后缀表达式

来源:牛客网。

2024-01-12 22:39:34 1790 2

原创 牛客NC22227约瑟夫环

n个人(0,1,2,3,4...n-1),围成一圈,从编号为k的人开始报数,报数报到m的人出队(报数是1,2,...m这样报的)。下次从出队的人之后开始重新报数,循环往复,当队伍中只剩最后一个人的时候,那个人就是大王。这是我在csdn上写的第一篇博客,自己是新手,写博客纯粹是记录日常的学习,算法学习刚刚起步,希望能通过这样的方式督促自己,不断进步,若有解答不准确的地方还请指正。我的办法是把前面的k个人给依次添加到队列尾部,同时删除前面的k个人,这样就形成了以编号k的人为头,编号k-1的人为尾的新队列。

2024-01-08 15:00:57 474

空空如也

空空如也

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

TA关注的人

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