- 博客(31)
- 收藏
- 关注
原创 XATU第九届算法大赛题解
目录A.小闫买蛋糕**题目描述****输入格式****输出格式****样例 #1****样例输入 #1****样例输出 #1****题解**B.I'm coming! Algorithm competition!**Description****Input****Output****Requirements****Example #1****Input #1****Output #1****Solution**C.急速招聘会**题目描述****输入格式****输出格式****样例 #1****样例输入 #1
2023-05-08 23:23:29
1738
2
原创 C++进阶学习(三)constexpr关键字、值类别与decltype关键字、lambda表达式
C++进阶学习(三)constexpr关键字、值类别与decltype关键字、lambda表达式
2023-01-20 17:12:18
1295
原创 基于C++的ADT封装——泛型中序线索二叉树
众所周知,在一棵结点数为n的普通二叉树中,存在n+1个空指针域,而这些空指针域占用了大量内存而不能被很好地利用。同时,普通二叉树的遍历方式一般是通过递归或非递归调栈来实现,这个过程中损耗了一定的时间或额外空间。因此,我们便想到,是否可以利用这些空指针域对结点进行串联,使得所有结点之间构成一组线性关系,从而能更加方便地进行特定的遍历方式呢?于是,线索二叉树便诞生了,而将一棵普通二叉树转化为线索二叉树的过程,我们称之为线索化。
2022-10-27 11:35:21
420
原创 [C++]洛谷 【模板】线段树1 详解+lazy标志优化
通过这道模板题,我将对线段树的原理和代码实现进行总结,内容包括段树开辟4n空间的原因、完整代码剖析、lazy标志优化、线段树与差分数组的比较等
2022-05-29 08:30:00
863
1
原创 [C++]数据结构:浅析字典树及字典树的实现
首先,我们来简单了解一下字典树。字典树是一种用于存储和检索字符串的一种树形数据结构,通过每个节点对应一个字符的方式相互连接,来存储字符串。其结构图大致如下图:与传统的容器存储字符串相比,字典树有一个巨大的优点:可以通过字符前缀直接检索字符的存储情况,并判断字符前缀是否吻合进行剪枝处理。通俗来讲,就是检索效率高。举个简单的例子,对于如上顺序表存储的字符串来说,假设共存储了m个字符串,每个字符串平均长度为n,若我们要判断"cake"是否存在于表中,则需要将表从头到尾遍历一遍,并对每个字.
2022-05-16 19:45:29
722
1
原创 [C++]洛谷 机器人搬重物 dfs+记忆化剪枝+回溯详解
[原题]机器人移动学会(RMI)现在正尝试用机器人搬运物品。机器人的形状是一个直径1.6米的球。在试验阶段,机器人被用于在一个储藏室中搬运货物。储藏室是一个N×M的网格,有些格子为不可移动的障碍。机器人的中心总是在格点上,当然,机器人必须在最短的时间内把物品搬运到指定的地方。机器人接受的指令有:向前移动1步(Creep);向前移动2步(Walk);向前移动3步(Run);向左转(Left);向右转(Right)。每个指令所需要的时间为1 秒。请你计算一下机器人完成任务所需的最少时间。[输入格式]..
2022-05-09 13:50:53
6113
原创 [C++]背包问题(2):洛谷 榨取kkksc03&&Cow Frisbee Team S 更多约束条件下的01背包
还不熟悉01背包的同学可以先看一下上一期的题解:[C++]背包问题(1):洛谷 采药 01背包模型详解-01背包拓维-[原题]榨取kkksc03[输入样例]6 10 101 12 3 3 22 55 24 3[输出样例]4[解题思路]不难看出,这道题是01背包模型的拓展。在上一次的题解中,我们要求从M个物品中选择T时间内最大的价值组合,而∑(items[k].time)<=T则是模型的最大值约束条件(k表示每一个被选择的物品)。而这.
2022-05-08 13:56:07
433
原创 [C++]背包问题(1):洛谷 采药 01背包模型详解
[原题][输入样例]70 371 10069 11 2[输出样例]3[解题思路]给出M个草药,每个草药分别对应两个参数:草药价值val及采摘时间time,要求不超过T(即最大采摘时间)的时间内能采摘的草药最大总价值为多少(注:每个草药不可重复采摘)。这是最典型的01背包模型:现有一个容量为C的背包,给出数个物品,每个物品占用固定的容量,拥有固定的价值,你需要对每一个物品作出取(1)或不取(0)的抉择,使得最终获得的总价值最大。可以看出,本题仅仅是将01背包中的容
2022-05-07 22:44:14
2060
原创 [C++]洛谷 滑雪 dfs+记忆化搜索详解
[原题][输入样例]5 51 2 3 4 516 17 18 19 615 24 25 20 714 23 22 21 813 12 11 10 9[输出样例]25[解题思路]给出一个m*n的矩阵grid,每一格代表一个高度,要求我们找到一条路径,满足高度严格递减且长度最长。显然,对于这种问题,我们可以枚举起点,并通过dfs来得到最长的路径。对于dfs的过程也很好理解:向上下左右四个方向搜索,若下一格的高度小于本格,则继续搜索且长度++,直到找出最长的路径。
2022-05-06 13:48:13
1297
原创 [C++]洛谷 地毯 暴力及二维差分详解
[原题][输入样例]5 32 2 3 33 3 5 51 2 1 4[输出样例]0 1 1 1 00 1 1 0 00 1 2 1 10 0 1 1 10 0 1 1 1[解题思路]题目给出一个n*n的方阵,现铺上m个地毯,被地毯覆盖的所有区域值++,最终要求打印每一格的值。-模拟、暴力AC-最简单粗暴的做法肯定是根据题目给出的每一个地毯范围对数组进行遍历增值,最终打印,由于这种思路比较常规,这里就不多赘述,直接上代码:#include<ve
2022-05-04 19:45:38
968
原创 [C++]洛谷 选数&&数的划分 dfs方法详解
-P1036 [NOIP2002 普及组] 选数-[输入样例]4 33 7 12 19[输出样例]1[解题思路]给我们n个数,让我们任选其中k个数并求和,求使这个和为素数的组合共有多少种。对于这种多选多的模型,我们可以用dfs的方法递归求出符合条件的总数。需要注意的是,如果两次选取的数相同,则他们的和也相同,这应该认为是同一种情况,因此,我们必须要想一个办法,保证递归过程中无重复的选取组合。具体实现方式如下:我们枚举第一次选取的数,接下来选取的每个数都满足在数组中的
2022-05-01 18:22:31
1211
1
原创 [C++]激光炸弹 二维前缀和解法思路及详解
[原题]一种新型的激光炸弹,可以摧毁一个边长为m的正方形内的所有目标。现在地图上有n个目标,用整数xi,yi表示目标在地图上的位置,每个目标都有一个价值vi激光炸弹的投放是通过卫星定位的,但其有一个缺点,就是其爆破范围,即那个边长为m的边必须与x轴, y轴平行。若目标位于爆破正方形的边上,该目标不会被摧毁。现在你的任务是计算一颗炸弹最多能炸掉地图上总价值为多少的目标。[输入格式]输入的第一行为整数n和整数m,接下来的n行,每行有3个整数x,y,v表示一个目标的坐标与价值。[输出
2022-04-22 17:57:29
2519
2
原创 [C++]LeetCode 地图分析 解题思路及详解
[原题]你现在手里有一份大小为 n x n 的 网格 grid,上面的每个 单元格 都用 0 和 1 标记好了。其中 0 代表海洋,1 代表陆地。请你找出一个海洋单元格,这个海洋单元格到离它最近的陆地单元格的距离是最大的,并返回该距离。如果网格上只有陆地或者海洋,请返回 -1。我们这里说的距离是「曼哈顿距离」( Manhattan Distance):(x0, y0) 和 (x1, y1) 这两个单元格之间的距离是 |x0 - x1| + |y0 - y1| 。[示例]示例一.
2022-04-08 16:09:04
1029
3
原创 [C++]天梯赛2017L2-4 部落 解题思路及详解
[原题]在一个社区里,每个人都有自己的小圈子,还可能同时属于很多不同的朋友圈。我们认为朋友的朋友都算在一个部落里,于是要请你统计一下,在一个给定社区中,到底有多少个互不相交的部落?并且检查任意两个人是否属于同一个部落。-输入格式-输入在第一行给出一个正整数N(≤104),是已知小圈子的个数。随后N行,每行按下列格式给出一个小圈子里的人:K P[1] P[2] ⋯ P[K]其中K是小圈子里的人数,P[i](i=1,⋯,K)是小圈子里每个人的编号。这里所有人的编号从1开始连续编号,最大编号不会
2022-04-06 17:02:36
2031
6
原创 [C++]Leetcode 路径总和 ||| 解题思路及详解
[原题]给定一个二叉树的根节点 root ,和一个整数 targetSum ,求该二叉树里节点值之和等于 targetSum 的 路径 的数目。路径 不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点)。[示例1]输入:root = [10,5,-3,3,2,null,11,3,-2,null,1], targetSum = 8输出:3解释:和等于 8 的路径有 3 条,如图所示。[示例2]输入:root = [5,4,8,11,.
2022-04-05 07:58:48
734
11
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人