自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 数据结构——队列(Queue)详解

1.队列(Queue)1.1概念队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出FIFO(First In First Out)的性质入队列:进行插入操作的一端称为队尾(Tail/Rear)出队列:进行删除操作的一端称为队头(Head/Front)2 队列的使用在Java中,Queue是个接口,底层是通过链表实现的,在实例化Queue时,必须实例化LinkedList对象,因为LinkedList实现了Queue接口。

2024-06-20 22:10:38 1203

原创 【洛谷 P8780】[蓝桥杯 2022 省 B] 刷题统计 题解(贪心算法+模拟+四则运算)

如果是周六或周日,每天刷b道题。对于 100 % 100 \%100% 的评测用例,1 ≤ a , b , n ≤ 1 0 18 1 \leq a, b, n \leq 10^{18}1≤a,b,n≤10。对于 50 % 50 \%50% 的评测用例,1 ≤ a , b , n ≤ 1 0 6 1 \leq a, b, n \leq 10^{6}1≤a,b,n≤10。定义tmp为在刷完这些完整的周数后,还剩下的题目数量,计算方式是目标刷题数量n减去已经刷完的题目数量(完整的周数wk乘以一周的总刷题数量)。

2024-02-26 22:46:48 1215 1

原创 C++小游戏

【代码】C++小游戏。

2024-07-03 21:22:47 81

原创 C++小游戏 五子棋

【代码】C++小游戏 五子棋。

2024-07-03 21:20:38 443

原创 C++小游戏 疯狂僵尸机

【代码】C++小游戏 疯狂僵尸机。

2024-07-03 21:19:07 72

原创 C++小游戏 杀手

【代码】C++小游戏 杀手。

2024-07-03 21:17:50 98

原创 C++小游戏 飞机大战

【代码】C++小游戏 飞机大战。

2024-07-03 21:16:57 72

原创 [c++刷题]贪心算法.N01

首先通过经验分析,要用最少的减半次数,使得数组总和减少至一半以上,那么第一反应就是每次都挑数组中最大的数据去减半,这样可以是每次数组总和值减少程度最大化。代码思路:利用大根堆去找数据中的最大值,每次减半再次压入大根堆即可。圆圈代表每次减半的数,圆圈的个数就代表总操作次数。我们使用《交换论证法》来证明。

2024-06-21 22:23:43 423

原创 我的创作纪念日

今天是我成为创作者的第256天。2023 年 10 月 09 日我在这里分享了人生中第一篇技术文章。现在回看这篇文章还能感觉到当时技术的薄弱,后面每一篇文章的输出可能都是在不断的学习和进步,博文渐渐的有了内容有了完整的思路和思考。知识和人生一样,都是需要积累和记录的,这就是你成长的印记和财富。当你回首往昔好多人都已经不在身边了,好多事都已经过去了。随着时间的流逝,记忆便会逐渐变得模糊,如果某个知识或者内容特别重要,如果有一天的某个瞬间让你感到特别幸福,请一定要记录下来。

2024-06-21 22:21:10 352

原创 绝地求生PUBG联名补偿奖励来了 补偿奖励介绍详情解析

首先呢,由于绝地求生是一款射击类的吃鸡游戏,对我们的网络有这一定的要求,当我们的网络连接不稳定进入游戏,可能会导致游戏掉帧,掉线卡退的问题,我们可以使用古怪加速器对游戏进行网络优化,优化我们的网络连接,让我们有一个稳定的网络进行游玩绝地求生。绝地求生》(PUBG) 作为一款战术竞技型射击类沙盒游戏,从上线以来就深受玩家小伙伴们的喜爱,即便是没有玩过的小伙伴,对“吃 鸡”二字想必也是很耳熟的,这正是《绝地求生》(PUBG) 的别称。

2024-06-20 22:19:43 223

原创 leetcode第709题:转换成小写字母

特殊字符的话,原样输出。注意字符不仅有26个。

2024-06-20 22:15:01 455

原创 双端队列(Deuqe)常用!

双端队列是指允许两端都可以进行入队和出队操作的队列,deque是 "double ended queue" 的简称Deque是一个接口,使用时必须创建LinkedList对象。

2024-06-20 22:12:20 153

原创 leetcode198 打家劫舍

比如 1 2 3 4 5 可以计算5 + 1, 但是5+1 一定不会是最大。因为你可以5+3+1,即 你在计算sum[3]的时候已经计算了1+3。有点像走楼梯,只是考虑相邻,也就是说你打算偷a[i],那你就不能偷a[i-1]的,然后可以递归的想。如果money[i]表示第i个房间的钱,sum[i]表示此时在第i个房间一共偷到的最多的钱。即 sum[i] = sum[i-2] +money[i];那还会不会隔更多呢,不会的。

2024-06-20 22:08:22 203

原创 C++常见错误

这一结果的可能性非常多,常见的有段错误(直接的原因时非法访问了内存,例如数组越界,指针乱指),浮点错误(例如除数为0,模数为0),递归爆栈(一般由递归时层数过深导致的)等。一般来说,需要先检查数组大小是否比题目的数据范围大,然后再去检查可不可能有特殊数据可以使除数或者模数为0,有递归的情况则检查是否在大数据时递归层数太深。如果程序输出了过量的内容(一般是指过量非常多),那么就会返回OLE。每道题目都有规定程序使用的空间上限,因此如果程序中使用太多的空间,则会返回MLE,例如数组太大一般最容易导致这个结果。

2024-03-10 14:57:10 311

原创 【博客合集】

我的创作纪念日[NOIP2007 普及组] 纪念品分组--贪心算法【贪心算法】 55. 跳跃游戏★【递归】【链表】Leetcode 21. 合并两个有序链表-CSDN博客【数据结构】单链表-CSDN博客【洛谷 P8780】[蓝桥杯 2022 省 B] 刷题统计 题解(贪心算法+模拟+四则运算)-CSDN博客力扣2476二叉搜索树最近节点查询-CSDN博客【算法与数据结构】127、LeetCode单词接龙-CSDN博客类约瑟夫环问题-CSDN博客https://img-blog.csdnimg.cn/dire

2024-03-08 23:09:42 207

原创 我的创作纪念日

创作原因分享经验 以后可以复习收获获得了6粉丝的关注 获得了1003阅读量 认识了c++的领域同行 日常 创作已经是我生活的一部分了 有时会发表文章和复习

2024-03-03 09:35:09 128

原创 [NOIP2007 普及组] 纪念品分组--贪心算法

为使得参加晚会的同学所获得 的纪念品价值相对均衡,他要把购来的纪念品根据价格进行分组,但每组最多只能包括两件纪念品, 并且每组纪念品的价格之和不能超过一个给定的整数。为了保证在尽量短的时间内发完所有纪念品,乐乐希望分组的数目最少。第 3 ∼ n + 2 3\sim n+23∼n+2 行每行包含一个正整数 P i P_iP。你的任务是写一个程序,找出所有分组方案中分组数最少的一种,输出最少的分组数目。第二行为一个整数 n nn,表示购来的纪念品的总件数 G GG。贪心算法解决当前最优解;

2024-03-03 09:22:21 121

原创 【贪心算法】 55. 跳跃游戏

在循环内部,使用 Math.max(farthest, i + nums[i]) 来更新 farthest,这表示当前能到达的最远距离是之前计算的 farthest 和*当前位置加上当前位置能跳的最远距离中的较大值。使用一个 for 循环遍历数组,但是不包括数组的最后一个元素,因为我们的目标是看是否能到达最后一个位置。循环结束后,如果 farthest 大于或等于数组最后一个位置的索引,表示可以到达最后,返回 true。初始化 farthest 变量为 0,用于记录当前能够到达的最远距离。

2024-03-03 09:19:35 433

原创 ★【递归】【链表】Leetcode 21. 合并两个有序链表

⭐️将较小节点的 next 指针指向下一次递归的结果,即剩余链表的合并结果。⭐️比较两个链表当前节点的值,将较小的节点作为合并后链表的头节点。⭐️⭐️⭐️⭐️⭐️思路总结⭐️⭐️⭐️⭐️⭐️⭐️⭐️。⭐️如果其中一个链表为空,则直接返回另一个链表。如果两个链表都为空,则合并完成,返回空链表。⭐️返回较小节点作为合并后链表的头节点。

2024-03-01 21:56:04 194

原创 【数据结构】单链表

是链表中的关键代码,作用就是把链表穿起来,phead是指向链表的指针,用pcur代替phead往下走,pcur->next这句话意思是一块空间的后一个部分的指向就是下一块空间的指针,说明这个指针就是指向下一块空间的。typedef的int,因为存储的数据不一定是整型,所以为了以后的修改不必要每个地方都改。1.定义pcur是为了不改变原指针的前提下,让pcur往下走.3.单链表的各个函数。在指定位置后插入数据。

2024-02-27 16:46:33 405

原创 力扣2476二叉搜索树最近节点查询

题目概述给你一个 二叉搜索树 的根节点 root ,和一个由正整数组成、长度为 n 的数组 queries。请你找出一个长度为 n 的 二维 答案数组 answer ,其中 answer[i] = [mini, maxi] :mini 是树中小于等于 queries[i] 的 最大值。如果不存在这样的值,则使用 -1 代替。maxi 是树中大于等于 queries[i] 的 最小值。如果不存在这样的值,则使用 -1 代替。返回数组 answer。思路分析。

2024-02-26 22:24:15 183 1

原创 【算法与数据结构】127、LeetCode单词接龙

一、题目二、解法思路分析:示例1为例,hit到达cog的路线不止一条,如何找到最短是关键。广度优先搜索是一圈一圈的搜索过程,一旦找到了结果,一定是最短的。本题也只需要最短转换序列的数目而不需要具体的序列,因此不用去关心下图中线是如何连在一起的。因此最终选择广搜,只要差一个字符说明序列之间是连接的。本题还是一个无向图,需要用到标记位,标记节点是否走过,否则会陷入死循环。

2024-02-24 22:50:32 384 2

原创 类约瑟夫环问题

即:a N = b M aN=bMaN=bM,因为要第一次回到1 11,所以a N aNaN要尽可能的小,所以a N aNaN为N , M N,MN,M的最小公倍数是最优的,l c m ( N , M ) = a N lcm(N,M)=aNlcm(N,M)=aN。当g c d ( N , M ) = 1 gcd(N,M)=1gcd(N,M)=1时,会有N 1 = N \dfrac{N}{1}=N。=1时,b = N g c d ( N , M ) < N b=\dfrac{N}{gcd(N,M)}

2024-02-24 21:18:36 237 1

原创 1104欢乐赛总结

以至于C题回家后只花了半个小时不到就写出来的代码,考试时却怎么都想不出来。以课后来说,能做的并且是能在考试时间之内能想出来的就有。B题存在一个大问题,在骗分的时候竟然没有仔细观察样例。” 而printf的却是“-1-1”A,C,D(青蛙·奶牛·何老板)这次考试发现第一道题挺简单的。即使是课后也花了很多时间来解。后面的题就一直思绪紊乱。(才解出来300分)

2023-11-06 20:28:46 47

原创 【分类练习2.递归与递推】青蛙过河

3 如果有s=2个石头,m个荷叶,那么第2个石头上,也可以先放最大的青蛙,然后把荷叶上的青蛙放到第二个人石头上,然后第一个石头也是这样,这时,每个石头上都有m+1个青蛙,但是石头上的青蛙是可以重新放回荷叶的,于是,可以把第二个石头上的青蛙放回荷叶,这样就可以把青蛙都移动到第一个石头上,而第二个石头上就可以再放m+1个青蛙,然而根据步骤一,荷叶和b岸也可以放m+1个青蛙,于是一共有2*2(m+1)个,n的n只青蛙,河中有个荷叶(C区),还有个石墩(D区),右边有一个石墩(B区),如下图所示。

2023-11-05 12:57:55 178 1

原创 【动态规划】

重点放前面:虽然动态规划并不是本题目的最优解法,但是如果动态规划的方法能够将所有子串是否是回文的信息保存在dp表中。版权声明:本文为CSDN博主「兜里有颗棉花糖」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被视作不同的子串。🍔本专栏旨在提高自己算法能力的同时,记录一下自己的学习过程,希望对大家有所帮助。解释:三个回文子串: “a”, “b”, “c”解释:三个回文子串: “a”, “b”, “c”

2023-10-21 22:00:36 43 1

原创 NKOJ欢乐赛

现在已知每个小区的位置,问,最少开设多少间快餐店,就能给所有小区提供外卖服务。若无法给所有n nn个小区都送餐,输出− 1 -1−1。那么此时端点a aa就是x − f x-fx−f,端点b bb为x + f x+fx+f。为保证送餐速度以及用餐品质,何老板规定,外卖店送餐的直线距离不能超过d dd米。具体而言,如下图所示,给出一个坐标轴,其中x xx轴表示笔直公路,何老板的快餐店都将开设在x xx轴上。有一条笔直公路,何老板打算在公路旁开若干间快餐店,以便为沿路的n nn个小区提供外卖服务。

2023-10-14 18:06:41 71

原创 0820欢乐赛

如果这个差距总和是奇数,我们可以将最大数和另一个数分别加1,剩下的那个数不变。第一步,将2 22和4 44都增加1,得到3 33、5 55、5 55。请问如果想让A AA、B BB、C CC都相等,最小需要操作几次。第二步,将3 33增加2 22,得到5 55、5 55、5 55。从A AA、B BB、C CC中任选两个数,使它们都增加1 11。从A AA、B BB、C CC中任选一个数,使它增加2 22。第一行,三个空格间隔的整数A AA、B BB、C CC。接下来算出第1、2个数与最大的数的差距总和。

2023-10-14 18:03:39 33 1

原创 8.11欢乐赛

游戏操作:玩家选择两个相邻且不同色的方块,将它们消除。然后上方的方块会自动落下来,使得剩下的方块始终保持柱状。玩家可以进行任意次上述操作,消除的方块越多,得分越高。一个由0和1构成的字符串,表示游戏开始时的方块柱子。其中0表示蓝色方块,1表示红色方块。算出1和0中出现次数最少的个数再*2就是答案了(简单的贪心,不解释)何老板在玩一款消消乐游戏,游戏虽然简单,何老板仍旧乐此不疲。游戏一开始有n个边长为1的方块叠成一个高为n的柱子。用字符数组存储数字(可直接cin>>s)一个整数,表示最多能消除的方块数。

2023-10-14 17:59:43 38

原创 CQNK算法系列

一个同学要在a[i](1

2023-10-14 17:46:20 38 1

原创 【分类练习3.贪心】加工生产调度

某个产品i在A、B两车间加工的时间分别为Ai、Bi。怎样安排这n个产品的加工顺序,才能使总的加工时间最短。这里所说的加工时间是指:从开始加工第一个产品到最后所有的产品都已在A、B两车间加工完毕的时间。某工厂收到了n个产品的订单,这n个产品分别在A、B两个车间加工,并且必须先在A车间加工后才可以到B车间加工。接下来n个数据是表示这n个产品在A车间加工各自所要的时间(都是整数)。最后的n个数据是表示这n个产品在B车间加工各自所要的时间(都是整数)。第一行仅—个数据n(0

2023-10-09 22:15:57 68 1

原创 【#贪心算法之线型覆盖类问题#】

NOI经典题目——摄像头系列1、2、3;#贪心算法之线型覆盖类问题#

2023-10-09 22:05:49 56 1

空空如也

空空如也

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

TA关注的人

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