自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received

docker启动xxl-job报错,一直没有搜到相同的报错,其实是因为docker中的mysql容器没有启动,启动了就好了。

2025-03-28 10:15:39 261

原创 二分+前缀和/滑动窗口——成绩统计

每次选择都是选择前x个数,然后在这前x个数里面找到一组个数为k的数,他们的方差满足条件,如果x可以找到,那么x继续增大也可以找到,因为增大后的x是包含了增大前的x的。举个例子,假设x=5。在a[1],a[2],a[3],a[4],a[5]中,我们可以找到a[2],a[3],a[5]满足方差小于T,那么当x=8时,对于a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]也一定存在a[2],a[3],a[5]满足方差小于T,因此具有单调性,也就是小的值满足条件,大的值也一定满足条件。

2025-03-15 15:30:00 769

原创 二分+前缀和——森林的最大美丽值

现在重新考虑遍历每一棵树,当前树的实际高度是a[i]+sum[i],这里的sum[i]是差分数组的前缀和,如果a[i]+sum[i]<x,那么我们要给这棵树增高,耗费的天数和增加的高度是x-a[i]-sum[i],对于差分数组的变化是d[i]+=x-a[i]-sum[i],d[i+k]-=x-a[i]-sum[i],注意这里的i+k可能会有下标越界问题,所以要改成d[min(i+k,n+1)]-=x-a[i]-sum[i],如果耗费的总天数超过了m,即。,就返回false,否则返回true。

2025-03-15 15:29:01 394

原创 【解决】Win10右键“打开文件所在位置”报错“该文件没有与之关联的应用来执行该操作...”

设为空,将"DelegateExecute"的数据修改为“{b455f46e-e4af-4035-b0a4-cf18d2f6f28e}”为"DelegateExecute",数据修改为"{11dbb47c-a525-400b-9e80-a54615a090c0}"查看shell下的"pintohome"->“command"项,将其名称为”(默认)“的数据。查看shell下的其他"command"项,将其名称为"(默认)“的数据设为空,创建"command"项,创建出来会有个(默认)字符串值,不用管。

2024-10-13 13:21:19 1034

原创 telnet不是内部或外部命令(已解决)

方法一(也是网上最多的方法):首先我们点击开始菜单,找到控制面板项,点击进入;在控制面板中,我们选择程序,然后点击启动或关闭windows功能,然后勾选Telnet客户端选项,确定进行安装。关于telnet不是内部或外部命令的解决方案,找了好久,试了好多方法,终于成功了。终于成功了,输入 telnet 127.0.0.1,可以得到如下图。方法二:后来发现好像需要安装服务端,服务端下载地址。如果你想关闭telnet,执行以下命令。方法三:使用管理员打开cmd,安装后配置相应的环境变量。(但是我依然不管用)

2024-09-13 09:51:45 4314

原创 蓝桥杯备赛day02:递推

第 n 年春季的时候,母牛 M 拥有后代母牛的个数等于第 n-1 年拥有后代母牛的个数加上第 n 年生产的小牛。共有多少头后代母牛”,第一年不生产小牛,后代母牛个数为0,第二年生产一头小牛,后代母牛个数为1,第三年生成一头小牛,后代母牛个数为2,第四年,母牛M生产一头小牛,第二年生产的小牛已经长大也生产一头小牛,总共生产2头小牛,后代母牛个数为4,第五年,母牛M生产一头小牛,第二年生产的小牛生产一头小牛,第三年生产的小牛生产一头小牛,总共生产3头小牛,后代母牛个数为7。询问是过Z个月以后,共有成虫多少对。

2024-09-03 11:21:15 1267

原创 蓝桥杯备赛day01:循环

这类题目较为简单,就不写解析了,提供三种语言的参考代码,欢迎在评论区讨论!

2024-09-03 10:38:37 933

原创 博客前端项目学习day03——框架页

【代码】博客前端项目学习day03——框架页。

2024-07-19 12:58:53 667

原创 博客前端项目学习day02

封装的Message。

2024-07-19 11:26:37 398

原创 博客前端项目学习day01

在VScode上写前端,采用vue3。

2024-07-13 18:35:13 1142

原创 二分练习题——奶牛晒衣服

但是此时我需要找的是最短时间,那么mid一定比大于mid的值更小,所以大于mid的值我就不用管了,也就是我可以确定我能够舍弃掉mid右边的值。假设当前需要耗费的时间为mid分钟,如果mid分钟内不可以烘干这些衣服,那么我们可以确定右边界小于mid的区间一定也不可以。所以小于mid的值我就不用管了,也就是我可以确定我能够舍弃掉mid左边的值。将整数类型转化为浮点数类型),就需要使用烘干机,使用的时间是(a[i]-mid*a)/b,a是自然烘干每分钟可以减少的湿度,b是烘干机烘干每分钟额外减少的湿度。

2024-04-08 22:50:05 738

原创 数字三角形

(1)缩小规模。从三角形的顶端走到三角形的低端。

2024-04-05 15:45:29 1031

原创 第13届蓝桥杯javaB组——数组切分

(1)缩小规模。规模为当前的数组个数,以及切分的位置。(2)考虑限制。分割出来的每一部分都是连续的自然数,其实就是数组下标[i,j]中数的最大值和最小值之差恰好是下标i和j之差。(3)定义dp数组。这里考虑类似最长上升子序列的定义方法。dp[i]表示最后一次分割是以a[i]结尾的方案数。

2024-04-04 05:49:11 1145

原创 二分练习题——妮妮的月饼工厂

对于高度为mid的月饼,如果它可以切出k块月饼,那么我们可以确定高度小于mid的月饼一定也可以,但是此时我需要找的是最大的高度,那么mid一定比小于mid的值更大,所以小于mid的值我就不用管了,也就是我可以确定我能够舍弃掉mid左边的值。对于高度为mid的月饼,如果它不可以切出k块月饼,那么我们可以确定边长大于mid的月饼一定也不可以,所以大于等于mid的值我就不用管了,也就是我可以确定我能够舍弃掉mid右边的值。那么这里的高度的最小值是1,最大值就是月饼的最大边长,也就是1e9。

2024-03-28 00:09:13 870

原创 二分练习题——晾衣服

这样看mid等于3是可以的,但是我把烘干机全用在这一个衣服上所需要的烘干时间是10/3=4>mid=3,明确不可以在3分钟内烘干该衣服。假设当前需要耗费的时间为mid分钟,如果mid分钟内可以烘干这些衣服,那么我们可以确定右边界大于mid的区间一定也可以。但是此时我需要找的是最短时间,那么mid一定比大于mid的值更小,所以大于mid的值我就不用管了,也就是我可以确定我能够舍弃掉mid右边的值。对于一个衣服的湿度a[i],如果他大于mid,就需要使用烘干机,使用的时间是(a[i]-mid)/(k-1)。

2024-03-28 00:08:38 293

原创 二分练习题——123

二分+等差数列求和+前缀和数组。

2024-03-28 00:08:01 1069

原创 二分练习题——美丽的区间

我们要知道二分求出来的l是什么,我们求出来的l是在区间左端点固定为i的情况下的一个答案,我们有多个左端点,也意味着我们有多个答案,那么我们求最短区间,就在这多个答案里求一个最小值就可以了,那么如何来表示答案呢。对于长度为mid-i+1的区间,如果我们可以找到它的区间和大于等于S,那么我们可以确定右边界大于mid的区间一定也可以,因为区间里的值都是正数。对于长度为mid-i+1的区间,如果我们不可以找到它的区间和大于等于S,那么我们可以确定右边界小于mid的区间一定也不可以,因为区间里的值都是正数。

2024-03-28 00:07:30 622

原创 二分练习——卡牌

对于mid套牌,如果我们可以凑出来,那么我们可以确定套数小于mid的牌一定也可以,但是此时我需要找的是最多,那么mid一定比小于mid的值更大,所以小于mid的值我就不用管了,也就是我可以确定我能够舍弃掉mid左边的值。我还想要确定比mid更大的值是否也满足条件,所以我要在mid的右边继续二分。对于mid套牌,如果我们不可以凑出来,那么我们可以确定大于mid的套数一定也不可以,所以大于等于mid的值我就不用管了,也就是我可以确定我能够舍弃掉mid右边的值。l的值好确定,就是0,那么r呢?

2024-03-28 00:06:59 603

原创 BFS进阶——大胖子走迷宫

注意我们题目中说了,我可以原地不动,所以我要把这种走法考虑进去,而我原地不动的目的其实是为了消耗脂肪,变成比原来更小的体积,如果我体积已经是1*1了那么我没必要做这个操作,所以我有一个判断,t是走到这一步过去的时间,如果它大于等于k的2倍其实就是说明他已经变成了1*1,所以只有。那么判断范围就变成了(x-0,y-0)到(x+0,y+0),其实就是只判断(x,y)。下一阶段,经过了t时刻,它的体积会变成3*3的大小,此时我们要判断的其实就是下一个要走的格子以及它的上下左右一步内的邻居都要判断,即。

2024-03-22 10:56:14 1008

原创 DFS进阶——买瓜

考虑剪枝,如果当前瓜的切开次数大于等于了我之前记录的最小值,那么就返回。如果当前瓜的重量已经超过了瓜的总重量的一半,那么就返回。如果当前未遍历到的瓜的总重量加到当前已经拥有的总重量上小于瓜的总重量的一半,说明我后面即便全要了也不会使res恰好等于瓜的总重量的一半,那么就返回。这里u表示我当前考虑的瓜,res表示当前获得瓜的总重量,count表示切开瓜的次数。最后考虑我们希望尽快的凑齐瓜的总重量的一半,其实可以优先选择重量大的瓜,所以我们可以对瓜的重量进行从大到小的排序。我们可以在dfs之前预处理出来。

2024-03-22 10:54:57 239

原创 DFS进阶——开心

那么对于当前位置stp来说我可以选择插入“+”,也可以不插入“+”,当i=1时表示我选择的是插入,那么这里要注意,能插入的前提是我还有“+”可以使用,所以要判断ki是否大于0。举个例子,比如1234,长度为4,我顶多在123的右边放个“+”变成123+4,即vis[2]=true,注意数组下标是从0开始的,当i遍历到3也就是vis.length - 1时,说明我该考虑的位置都考虑完了,接下来应该是求此方案下得到的数的值,所以end是结束位置。假设原始数字是1234,k=1,那么vis[1]=true。

2024-03-22 10:53:21 457

原创 DFS进阶——分考场

最后我还要考虑新开辟一个考场的情况,因为可能我当前已有的考场都有与第x个考生认识的人,这个时候我不得不开辟一个新考场。这个题目稍微难一点,我们要为n个考生分配考场,那么我每次要考虑的是对于第x个考生,我要给他安排在哪一个考场里面,那么我还需要知道我当前使用了哪些考场,并且这些考场里面被安排了哪些考生。表示我已经把第j个考场的考生都遍历完了,没有和第x个考生认识的人,那么我可以把第x个考生放在第j个考场,即。这说明第j个考场有和第x个考生认识的人,那么我不可以把第x个考生放在第j个考场。

2024-03-22 10:52:39 352

原创 DFS进阶——最大数字

操作1:假设对于每一位我是从最高位依次向最低位遍历的,对某一位加1,那么加都加了,我们希望把这一位加到最大值也就是9,但是也有可能加不到9,因为我的操作有次数限制,所以就是在9和n之间选一个最小值,那么就是加法的操作次数,如下代码,c表示当前这一位的值,t就是对于当前位来说我能够加的次数,那么n就是可以加的总次数,经过此次操作后,加的总次数要减掉t。所有只有当我确定我可以减到9时,我才执行减操作。当遍历到最后一位时,此时获得的数字的值就确定了,那么我就拿它和我之间记录的答案比较,取一个最大值就可以了。

2024-03-22 10:52:03 307

原创 DFS进阶——混境之地5

如果可以使用喷气背包,那么对于下一个我们要遍历的点,如果可以到达它,那么就不使用喷气背包,如果不可以到达,我们就考虑要不要在这个点使用喷气背包,因为我只能使用一次,在哪个点使用可以帮助我们走到终点我们是不确定的。然后我们尝试向上下左右四个方向走,对于x,y,向上走就是x+(-1),y+0,向下走就是x+1,y+0,向左走就是y+(-1),x+0,向右走就是y+1,x+0。我们注意这是一个矩阵图,每次走的时候可以上下左右四个方向走,一般而言我们只需要从起点去走就可以了,那么我们从起点进入dfs。

2024-03-22 10:51:31 821

原创 DFS进阶——全排列

其实就是对1~n的数字全排列,这里就可以用dfs去做,1~n全排列我其实是确定每一个位置我应该放哪一个数字,那么dfs的时候就是对位置dfs,dfs(1)表示我现在要选择一个数放在第一个位置,那么可以选择的范围是1~n,当我遍历到dfs(n+1)时说明我前n个位置都安排完了,那么我就要输出此时的一个排列,我需要知道我此时选出来的数的排列,那么也可以考虑用一个变量保存,这里我使用的是队列。以n=3为例,也就是待排列的数字为1,2,3。上图没有写完,只写了一部分,下图是另一种形式,全都写了完了。

2024-03-22 10:50:16 778

原创 DFS基础——仙境诅咒

在一片神秘的仙境中,有N位修仙者,他们各自在仙境中独立修炼,拥有自己独特的修炼之道和修炼之地,修仙者们彼此之间相互尊重、和谐相处。然而,有一天,仙境的主宰者妮妮(第一位修仙者)受到了诅咒,该诅咒会向距离妮妮不超过D的范围内的修仙者传播。也就是说,如果一个修仙者被诅咒,那么在距离他不超过D的范围内的所有修仙者都会被诅咒。现在,你需要预测哪些修仙者最终会被诅咒,以便及时采取措施,保护仙境的和平与安宁。第一行输入一个正整数N1N≤103,表示仙境中有N位修仙者。接下来N行,每行两个实数Xi。

2024-03-22 10:49:35 1252

原创 DFS基础——全球变暖

但是要注意,变成海洋后的陆地不会对周围陆地产生影响,比如下面这种情况,第二行的“#”都会被淹没变成海洋“.”,第二列和第四列的“#”都会被淹没变成海洋“.”,但是第三行第三列和第四行第三列的“#”不会被淹没。接下来看dfs的过程,进来之后,首先把当前位置标志为已经被遍历过。然后接着去遍历这个岛屿的其它陆地。注意上述代码在找相邻节点的时候我没有进行越界判断,是因为我在设数组的时候给它设置了边界,即下标范围是从1~n,那么开数组的时候开大两维,即便1-1=0,也没关系,即便n+1=n+1,也不会越界。

2024-03-22 10:48:26 288

原创 DFS基础——迷宫

接下来考虑如何找最短路,对于dfs而言,要找最短路,我必须把当前可走的所有路都遍历结束后,才能确定哪一条路是最短路,对于某一个位置,我当前向左走,标记左边的节点为已遍历过,并且把这个’L’存入,走到终点后我再回退,那么再次回到这个位置时,我会选择其它可以走的方向,那么我们要把左边的节点已遍历过的标记清空,表示没有遍历过,并且把在这里存入的’L’取出。s表示我走到当前节点的步数,step表示此时记录的最短路的长度,我还没有走到终点步数就比最短路长,那么它必然不会成为最短路,所以后面就不需要遍历了,直接返回。

2024-03-22 10:47:52 1326

原创 DFS进阶——地宫取宝

考虑一下dfs需要的参数,首先我每次可以向下和右两个方向走,其次对于当前的宝物我可以选择拿,也可以选择不拿,但是如果要拿一定有一个前提条件就是已经拿的宝物的最大价值小于当前宝物的价值,那么我需要知道已经拿的宝物的最大价值,所以每次dfs的时候都要传参这个最大价值。但是我们的宝物价值有可能为0,如果最大值初始化为0,我们就拿不了价值为0的宝物。在dfs的时候,当前位置的坐标的宝物我已经拿了,那么最初第一个位置1,1的宝物我可以拿也可以不拿,所以有两个dfs,主要要给这两个dfs的和进行取模,不然会错。

2024-03-22 10:45:16 313

原创 数组的伴生表达式

主要考察了对于很大的数累加或者累乘然后取模的过程的处理,不要全算出来再取模,边算边取模。

2024-03-14 00:08:50 173

原创 蜗牛——蓝桥杯

(1)缩小规模。我们要从第1根竹竿爬到第n根竹竿,那么规模就是这n根竹竿,dp[i]表示当前爬到了第i根竹竿。(2)考虑限制。限制1,只能在x轴或者竹竿上爬行,在x轴上爬行速度为1单位每秒,在竹竿上向上和向下爬行的速度分别为0.7单位每秒和1.3单位每秒。限制2,在第i和第i+1个竹竿间有传送门,可以由第i根竹竿高度为。

2024-03-13 23:56:09 1044

原创 蓝桥杯——数组切分

这里要搞清楚一个点就是满足区间内数字是连续数字的区间有什么样的特点,既然数字连续重新排列后的数字为n,n+1,n+2,n+3,n+4,…n+len,则最大数字和最小数字之差恰好是区间长度减1,即n+len-n=len,同样因为下标也是连续数字,那么左端点和右端点的下标之差也是区间长度减1,所以最大数字和最小数字之差恰好是左端点和右端点的下标之差。定义dp[i]表示以a[i]结尾的区间能够被划分的区间的个数,那么dp[i]可以从。转移过来的条件是a[j]~a[i]这个区间是一个连续区间。

2024-03-13 23:52:48 707

原创 最少刷题数

那么对于学生i的刷题数a[i],sum[a[i]-1]表示刷题数比该同学少的人数,n-sum[a[i]]+1表示刷题数比该同学多的人数,这里的+1是因为减掉了该同学本身,所以要再加回来。如果sum[a[i]-1]<n-sum[a[i]],说明该同学需要再刷题,那么需要刷多少道题呢?遍历所有学生的刷题数,如果sum[a[i]-1]>=n-sum[a[i]],说明该同学不需要再刷题,打印0,否则打印当前刷题数和pos之间的差值。如果sum[a[i]-1]>=n-sum[a[i]],说明该同学不需要再刷题,

2024-03-13 23:18:50 1048

原创 双指针练习题目

双指针的模板并不是所有题都可以用,只是部分题目可能可以用这个思路去套。

2024-03-12 16:22:02 1110

原创 幸运数字(蓝桥杯23省赛)

现在我要找右边那一半是多少,按理说左边位数确定了,右边和他一样就行了,不用遍历,但是这样做的话我就找不到类似1001这样的数字了,因为这个数字左半边值是10,右半边值是1,也就是说满足题意的数字,并不要求左右半边相等,不相等,也就是右边比左边位数少的时候,我补0就可以了。这里的i遍历的就是左半边的位数,所以是小于等于4的。代表位数3各位数之和为5的数字个数,比如有122,221,212,203,230,302,320,140,104,410,401,500,113,131,311。

2024-03-12 09:01:01 635

原创 DFS和BFS以及练习题目

温馨提示:学习dfs之前最好先了解一下递归的思想。

2024-03-09 20:57:31 1059

原创 前缀和和差分以及练习题目

直接定义dp数组。dp[i]表示以第i个字母结尾的最大字段和。

2024-03-05 18:36:55 1448

原创 二分以及练习题目

(1)单调性备选答案集是有序的(2)二段性在检查了mid是否符合要求之和,我可以舍弃左右某一边的答案。

2024-03-05 16:18:54 1174

原创 蓝桥杯——123

二分+等差数列求和+前缀和数组。

2024-03-04 21:26:04 2094

原创 蓝桥杯——矩形拼接

观察一下什么时候会是八边形,假设先放下第一个矩形,如果后放的第二个矩形和第三个矩形横着的边长加起来不恰好等于第一个矩形的边长,并且第二个矩形的竖着的边长和第三个矩形的竖着的边长不恰好相等。观察一下什么时候会是六边形,假设先放下第一个矩形,如果后放的第二个矩形和第三个矩形横着的边长加起来恰好等于第一个矩形的边长,但是第二个矩形的竖着的边长和第三个矩形的竖着的边长不恰好相等。图3是4条边,即四边形。下面的代码是依次遍历3个矩形,每个矩形作为上图1,2,3中的第一个矩形或者第二个矩形或者第三个矩形考虑。

2024-03-03 15:20:46 915 2

空空如也

空空如也

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

TA关注的人

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