自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 创建英文用户并加入管理员账户

创建英文用户并设置为管理员

2025-02-24 16:12:52 84

原创 pycharm2024调用conda步骤

2024-12-09 20:01:18 125

原创 函数模板(成长版)

函数模板成长版

2024-02-15 20:38:44 430

原创 1222. 密码脱落(dp划分)

【代码】1222. 密码脱落(dp划分)

2024-01-14 00:37:56 501

原创 1047. 糖果(dp/背包问题(选择问题))

【代码】1047. 糖果(dp/背包问题(选择问题))

2024-01-06 19:23:00 431

原创 1050. 鸣人的影分身(dp划分)

【代码】1050. 鸣人的影分身(dp划分)

2024-01-05 21:41:48 462

原创 1295. X的因子链(数论/求1~N的所以质因子)

【代码】1295. X的因子链(数论/求1~N的所以质因子)

2024-01-04 20:25:16 445

原创 112. 雷达设备(贪心/逆向思考)

【代码】112. 雷达设备(贪心/逆向思考)

2024-01-03 18:04:36 767

原创 1207. 大臣的旅费(dfs求树的直径/图论)

【代码】1207. 大臣的旅费(dfs求树的直径/图论)

2024-01-02 17:36:46 613

原创 1233. 全球变暖(bfs宽搜相邻点)

2.被完全淹没--->岛屿所以部分均临海。1.临接问题,最短路径问题--->bfs。

2023-12-26 11:03:49 504

原创 1096. 地牢大师(蓝桥杯/bfs宽搜求最小距离)

【代码】1096. 地牢大师(蓝桥杯/bfs宽搜求最小距离)

2023-12-26 00:10:17 549

原创 1224. 交换瓶子(蓝桥杯/图论)

2.最少交换次数=能形成的最多环数n-当前形成的环数cnt。1.将对应的位置与当前的瓶子序列相连形成环。

2023-12-25 11:08:16 399

原创 1101. 献给阿尔吉侬的花束(bfs找最短路径)

BFS(Breadth-First Search,广度优先搜索)是一种图算法,用于遍历或搜索图中的节点。它从图的起始节点开始,逐层地访问其相邻节点,直到找到目标节点或遍历完整个图。BFS通常使用队列来实现,起始节点首先被放入队列中,然后依次访问其相邻节点,并将这些相邻节点加入队列。接着从队列中取出下一个节点,重复上述过程,直到队列为空为止。BFS的特点是能够找到起始节点到目标节点的最短路径,因为它先访问离起始节点最近的节点,然后依次向外扩展。踢出队列头,并在队列尾插入与对头相关的xxx(往往是相邻点)。

2023-12-24 18:23:00 537

原创 AcWing 1238. 日志统计(双指针,滑动窗口)

【代码】AcWing 1238. 日志统计(双指针,滑动窗口)

2023-12-24 12:05:47 420

原创 1215. 小朋友排队(权值树状数组求逆序数)

4.query(r)~ 树状数组:原数组区间(a[1],a[r])的和;权值树状数组:原数组区间(a[1],a[r])出现次数。1.权值树状数组的模板与树状数组一样没有变化,但树状数组tr[]中存储的内容以及add和query的含义发生了变化。3.add(x,v)~ 树状数组:是在位置x加上v;权值树状数组:x出现的次数加1。2.tr[]~ 树状数组:存储的是区间和;权值树状数组:存储出现次数。

2023-12-23 12:05:50 416

原创 1270. 数列区间最大值(线段树求区间最大)

【代码】1270. 数列区间最大值(线段树求区间最大)

2023-12-22 11:58:30 428

原创 1265. 数星星(树状数组/蓝桥杯)

【代码】1265. 数星星(树状数组/蓝桥杯)

2023-12-17 20:02:58 272

原创 1264. 动态求连续区间和(树状数组---某个位置加上一个数/求在线(动态)前缀和/蓝桥杯)

【代码】1264. 动态求连续区间和(树状数组--某个位置加上一个数,求在线(动态)前缀和)

2023-12-17 16:59:04 767

原创 1241. 外卖店优先级(蓝桥杯/暴力/优化--暴力遍历 VS 根据输入遍历)

66 时刻时,11 号店优先级降到 33,被移除出优先缓存;22 号店优先级升到 66,加入优先缓存。所以是有 11 家店 (22 号) 在优先缓存中。

2023-12-17 12:39:44 327

原创 1231. 航班时间(整行字符串输入:getline(cin,line))

cin输入时遇到空格会断开,而getline则是整行输入。故需要整行输入时用getline。

2023-12-16 22:50:39 98

原创 AcWing 1229. 日期问题(反向求解)

在19500101到19591231之间寻找:1.满足日期格式的的数+满足可表示为02/03/04的数。特殊格式的输入输出用scanf和printf优于cin和cout。

2023-12-15 19:16:07 81

原创 曼哈顿距离+蛇形走位

4.蛇形走位的二维数组列下标:若行下标为偶,则列下标:j=(x-1)%w;若行下标为奇,则列下标:j=w-1-j。2.1,2,3,4~的连续数字,为与数组下标对应->将所以数字全部减一,从0开始。1.曼哈顿距离->两点矩阵坐标行列差值的绝对值 ->二维数组。3.二维数组行下标:i=(x-1)/w。

2023-12-15 12:39:25 327

原创 区分vector和list两种容器

总的来说,Vector适合需要随机访问元素或在尾部频繁插入和删除元素的场景,而List适合在任意位置频繁插入和删除元素的场景。

2023-12-09 19:49:53 79

原创 继承、多态

不同序列的查找方法。判断某个元素是否存在于序列之中是很重要的操作。不同的序列可以选用不同的 查找方法,例如无序序列一般用顺序查找方法,有序序列一般用折半查找方法。定义 C++类模拟实现各自 不同的查找方法。代码中无明显类的继承层次关系者不得分。你可以如下完成本题: (1)定义 Sequence 类描述一般的“序列”概念,提供 in 函数判断元素是否存在于序列之中。(2)定义 Unordered 类描述无序序列,在 in 函数中以顺序查找方法判断元素是否存在于序列中。

2023-12-09 16:03:39 93

原创 生日备忘录(自定义排序)

实现简易的生日备忘录。温暖的亲情是前进的动力,别忘记在家人生日时送 去祝福。定义类 Member 描述家庭成员,每位家人有自己的姓名 name 和出生日期 birthday,出生日期应描 述为由 year、month、day 组成的 Date 类。在 main 函数中定义数组(或 STL 容器)存放家庭成员对象,并 调用类的成员函数,按照生日先后顺序输出各位家庭成员的信息。

2023-12-09 15:30:04 333

原创 第2关:可变长整型数组类(成长版)

【代码】第2关:可变长整型数组类(成长版)

2023-11-22 21:28:21 534

原创 Acwing算法基础

y总算法基础课题目的归纳总结

2023-11-22 00:00:10 454

原创 466. 回文日期

1.如果正向考虑,计算两天之间所以的回文数,应该如何枚举?没有明确的进制,那么只能列一个日历,这样会比较麻烦。注意:枚举8位数回文数时我们只需要枚举前4位,后面翻转得到。2.满足日期表示规范的。

2023-11-15 00:12:17 543

原创 第1关:构造函数与析构函数的实现

1.链表的默认构造, 拷贝构造,传参构造以及析构函数等。

2023-11-14 00:29:57 1111

原创 1204. 错误票据

使用getline读入一整行时,如果之前写过cin,由于cin中有默认换行,getline会将其也读入,使得字符串类型的变量line的第一个元素是空的。将输入的数据存入数组,从小到大排序后遍历,若 (a[i] == a[i - 1])res1 = a[i]--->重号;若(a[i] - a[i - 1] >= 2)res2 = a[i] - 1--->断号。1.针对上述情况,我们可以先用getline(cin,line)将整行数据(包括空格)先存入字符串(string)变量中。来解析和操作字符串中的数据。

2023-11-12 16:27:04 157

原创 第1关:完整的包装类

1.自增自减运算符重载,区分前后!(后置重载函数会传入形式参数,但这只作为区别于前置重载函数的特征,并不会真的传参,故在函数内部不可以!2.输入输出运算符重载,注意输入传参无const。

2023-11-12 11:20:28 432

原创 第2关:还原键盘输入(list)

在这段代码中,`it` 是一个插入迭代器,用于将元素插入到列表 `l` 中。当调用 `l.insert(it, s[i])` 时,`it` 不需要手动增加,因为 `insert` 方法会在 `it` 指向的位置插入元素,并且会自动更新 `it`,使其指向新插入的元素。因此,在这个情况下,不需要手动增加 `it`,因为 `insert` 方法会自动更新迭代器的位置。优势:可在任意指定位置插入或者删除元素而不影响列表其他地方。为何迭代器it不用it++,不然不就一直指向l.begin()了吗?

2023-11-12 11:06:33 1690

原创 [头歌]第1关:动态学生信息管理

std::find_if`函数会在指定的范围内查找第一个使谓词返回true的元素,并返回指向该元素的迭代器。在这个示例中,我们的lambda表达式接受一个`const Student&`类型的参数`s`,并返回`s.name == targetName`的比较结果,即判断该学生的姓名是否等于目标姓名`targetName`。这个lambda表达式的作用是用于在`stu`容器中查找名字为`targetName`的学生。2.如何使用find和erase来找到学生类里面的指定姓名的人并将其从动态数组中删除。

2023-11-12 00:35:18 1719 1

原创 1236. 递增三元组

1236. 递增三元组 - AcWing题库数据范围为1~1e5---->时间复杂度只能为O(n)或者O(nlogn)。 只枚举中间的数组B。对于枚举的每一个bi,找出在A中比其小的a的数量cntA,在C中比其大的c的数量cntC。 cntA*cntC即为当b=bi时的所以满足条件的组合。1.将A,B数组从小到大排序(sort)2.明确目标:在A中寻找最后一个小于bi的a的下标,在C中寻找第一个大于bi的c的下标。将二者作为两次二分的分界点。3.边界情况:当A中没有比bi小的数时,cntA=0;当C中没有比

2023-11-11 01:04:16 448

原创 1210. 连号区间数(枚举)

注意:对于区间的枚举,一般是定一移一。固定任何一端移动另外一端均可以。但是此题为便于在枚举移动端的过程中确定最大最小,选择定左移右。枚举一般是先暴力再优化。

2023-11-10 16:29:08 178

原创 1214. 波动数列

【代码】1214. 波动数列。

2023-11-09 20:29:11 382

原创 1212. 地宫取宝

【代码】1212. 地宫取宝。

2023-11-08 22:14:42 207

原创 895. 最长上升子序列

【代码】895. 最长上升子序列。

2023-11-07 16:36:35 170

原创 1015. 摘花生

【代码】1015. 摘花生。

2023-11-03 22:40:04 373

原创 1230. K倍区间(前缀和)

区间遍历枚举一般先枚举右端点,再枚举左端点,注意由右端点限制左端点。

2023-10-28 10:57:08 305

空空如也

空空如也

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

TA关注的人

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