自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

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

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

2024-09-13 09:51:45 252

原创 蓝桥杯备赛day02:递推

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

2024-09-03 11:21:15 1051

原创 蓝桥杯备赛day01:循环

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

2024-09-03 10:38:37 778

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

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

2024-07-19 12:58:53 621

原创 博客前端项目学习day02

封装的Message。

2024-07-19 11:26:37 365

原创 博客前端项目学习day01

在VScode上写前端,采用vue3。

2024-07-13 18:35:13 1105

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

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

2024-04-08 22:50:05 694

原创 数字三角形

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

2024-04-05 15:45:29 1014

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

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

2024-04-04 05:49:11 1025

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

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

2024-03-28 00:09:13 823

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

这样看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 271

原创 二分练习题——123

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

2024-03-28 00:08:01 1049

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

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

2024-03-28 00:07:30 511

原创 二分练习——卡牌

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

2024-03-28 00:06:59 583

原创 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 971

原创 DFS进阶——买瓜

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

2024-03-22 10:54:57 208

原创 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 440

原创 DFS进阶——分考场

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

2024-03-22 10:52:39 306

原创 DFS进阶——最大数字

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

2024-03-22 10:52:03 244

原创 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 780

原创 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 694

原创 DFS基础——仙境诅咒

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

2024-03-22 10:49:35 1157

原创 DFS基础——全球变暖

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

2024-03-22 10:48:26 254

原创 DFS基础——迷宫

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

2024-03-22 10:47:52 1097

原创 DFS进阶——地宫取宝

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

2024-03-22 10:45:16 277

原创 数组的伴生表达式

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

2024-03-14 00:08:50 159

原创 蜗牛——蓝桥杯

(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 906

原创 蓝桥杯——数组切分

这里要搞清楚一个点就是满足区间内数字是连续数字的区间有什么样的特点,既然数字连续重新排列后的数字为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 664

原创 最少刷题数

那么对于学生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 1028

原创 双指针练习题目

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

2024-03-12 16:22:02 1097

原创 幸运数字(蓝桥杯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 545

原创 DFS和BFS以及练习题目

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

2024-03-09 20:57:31 978

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

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

2024-03-05 18:36:55 1275

原创 二分以及练习题目

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

2024-03-05 16:18:54 1149

原创 蓝桥杯——123

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

2024-03-04 21:26:04 2014

原创 蓝桥杯——矩形拼接

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

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

原创 蓝桥杯——外卖店优先级

对于当前订单me[i],我要知道前一个订单me[i-1]是否和他是同一个外卖店,如果是,那么说明我此时把me[i-1].id的外卖店的单子都遍历完了,此时我要确定他是不是在缓存里面。订单应该是一个类,包含时间ts和外卖店id,我们优先对订单按照外卖店id排序,id相同时再按照ts排序,排序规则如下,之前判断,举个例子,假设外卖店的当前优先级是4,那么diff=2,4减2等于2,此时应该被移出优先级缓存的,但是如果在判断之前我先给他加了2,那么此时2+2=4>3,他就不会移出优先级缓存,造成结果错误。

2024-03-03 15:15:42 2069 1

原创 卡牌——二分

对于mid套牌,如果我们可以凑出来,那么我们可以确定套数小于mid的牌一定也可以,但是此时我需要找的是最多,那么mid一定比小于mid的值更大,所以小于mid的值我就不用管了,也就是我可以确定我能够舍弃掉mid左边的值。对于mid套牌,如果我们不可以凑出来,那么我们可以确定大于mid的套数一定也不可以,所以大于等于mid的值我就不用管了,也就是我可以确定我能够舍弃掉mid右边的值。我现在有m张空牌可以用,但是也有一个限制对于第i种牌,我手写的个数不能超过b[i],具体请看代码,

2024-03-03 11:02:49 511

原创 Java快读

(1)StreamTokenizer读入long类型的数字时会出现错误,因为nval的类型是double,在转换为long类型的过程中,由于double的精度问题,当long类型读入太大的数字时会出错。double类型能表示的数字范围比long大,但是是以牺牲精度的方式获得更大的存储,而他能精确保存的数字位数为十进制的15或16位,要比long小。他比BufferedReader快,但是对于读取字符类型的操作,只能读取26字母,特殊符号和数字无法读取,有其局限性。StreamTokenizer常见错误。

2024-03-02 23:40:55 470

原创 蓝桥杯倒计时41天!DFS进阶1——回溯

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

2024-03-02 11:30:07 406

空空如也

空空如也

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

TA关注的人

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