自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 DFS深度优先搜索“网格类问题”(c++实现)

深度优先搜索(Depth-First Search, DFS)是一种用于遍历或搜索树或图的算法。它会尽可能深地搜索树的分支,当节点v的所在边都已被探寻过,搜索将回溯到发现节点v的那条边的起始节点。下面一些问题覆盖了DFS在中的主要应用场景:迷宫、单词方阵、Oil Deposits、马走日。迷宫路径和马遍历棋盘需要回溯(恢复状态)。石油问题和单词搜索只需标记访问,无需回溯。四方向(迷宫)、八方向(石油、单词)、特殊方向(马的“日”字形)。计数(迷宫、马遍历)、标记(单词)、连通性(石油)。

2025-04-10 20:02:13 314

原创 欧拉筛与埃氏筛

通过一个题目来学习欧拉筛与埃氏筛。

2025-04-10 17:44:57 540

原创 “小明的作业”题解

若出现,向后检查是否连续出现相同模式。若连续出现≥2次,记为1次错误,并跳过整个连续区间;若单独出现,记为1次警告,仅跳过当前模式。错误:出现连续的"wa"或者连续的"aw"模式(至少连续两次相同模式)遍历字符串,逐个检查相邻字符是否构成"wa"或"aw"。警告:出现一次"wa"或者一次"aw"模式。若未出现,继续判断下一个字符。

2025-04-07 12:26:44 477

原创 二分搜索与二分答案模板

只需把if里面二分查找的条件改成check,而解决题目的关键就是check函数的编写。二分答案:答案有一个区间,在这个区间中二分,直到找到最优答案。3.lower_bound和upper_bound。二分查找:在一个已知的有序数据集上进行二分地查找。

2025-04-03 10:02:27 269

原创 “数字切割”题解

接下来只需遍历所有的切割位置,分割过后把两份数字相加,比较得出最大值即可。substr:从字符串中提取子串。stoi:将字符串转换为数字。

2025-04-02 20:22:01 231

原创 牛客月赛“连续数组”题解

下面只需要对数组进行排序,然后判断是否是连续数组是的话输出"YES",不是输出"NO"就好了。刚开始看到这道题的时候,酱只是单纯的把两个数组合并在一起然后排序,根据题目中的。,只能重写代码喽(所以做题一定要细心哦,不然功亏一篑)。如果不是,不满足题意,直接输出"NO",然后结束代码。只需要判断后输入的数字是否大于前一个输入的数字,是否符合来判断输出,但是忽略了一个重要的条件。如果是,后面排序后相对顺序不会变化,符合题意;需要将这些数组的所有元素合并成一个新数组。个数组,每个数组的元素个数为。

2025-03-31 21:06:25 672

原创 前缀和与差分

前缀和是一种对数组进行预处理的技术,它能够在O(1)时间内求出数组中任意区间的和。其核心思想是预先计算并存储数组从起始位置到每个位置的和。例如,原数组的前缀和数组为(假设下标从 1 开始)。差分是前缀和的逆运算,它主要用于对数组的某个区间进行快速增减操作。前缀和和差分是两种非常实用的算法技巧, 前缀和适用于频繁查询区间和的场景,差分适用于频繁修改区间的场景。两者可以相互转换,互为逆运算。掌握这两种技巧非常有必要噢。接下来还需要例题来巩固理解。

2025-03-26 21:56:34 790

原创 常用的c++中的函数

的最小整数(向上取整)。ceil(1.0*a/b)可代替为(a+b-1)/b。的最大整数(向下取整)。floor(1.0*a/b)可代替为a/b。有效数据缩短(可结合erase去重)的绝对值(适用于浮点数)。的绝对值(适用于整数)。的余数(适用于浮点数)。

2025-03-23 17:26:57 1610 3

原创 STL的常用函数

STL 是 C++ 编程语言中的一个重要库,提供了一系列通用的模板类和函数,用于实现常见的数据结构和算法。酱将从和用个方面介绍几个常用的STL函数。

2025-03-22 11:30:30 2175

原创 上海理工大学校内选拔赛部分题解

当该数只出现过一次且是最大值的时候,输出的值为该数加上第二大的值。对于每个数,当该数不是最大值的时候,输出的值为该数字加上最大值;思路:对武器属性值和魔法属性值,并对它们进行排序。思路:这个题主要是找n个数的最大值和第二大值。的最大值依次相乘,并累加到。的最小值与魔法属性值数组。将排序后的武器属性值数组。中,得到最小冲突值。

2025-03-19 21:01:16 171

原创 动态规划:从零开始了解DP的核心思想

上一篇文章酱提到了斐波那契数列,在这个问题上,很明显使用递归来解决时间复杂度是很高的,所以我们改成了用动态规划来解决。本篇文章酱将详细的介绍一下基础的动态规划。动态规划(Dynamic Programming, DP)是一种解决复杂问题的算法设计方法,通过将问题分解为子问题,并存储子问题的解(通常使用表格或数组),避免重复计算,从而提高效率。斐波那契数列。最大子数组和。背包问题。最长公共子序列(如果最短路径问题。今天的内容就酱就结束啦。

2025-03-15 12:12:52 1722

原创 时间复杂度:入门超详细版

程序的运行时间受到多种因素的影响,其中时间复杂度是衡量算法效率的重要指标,低时间复杂度的算法能够显著提升程序性能,让程序更高效。下面我会详细介绍一下有关时间复杂度。时间复杂度是衡量算法运行时间长短的一个标准,通常用大O符号表示,它描述了算法运行时间与输入数据之间的关系。常数阶O(1): 只要没有循环等结构,时间复杂度都是O(1)。线性阶O(n): 含有非嵌套循环,循环n次,时间复杂度是O(n)。对数阶O(log n): 含有循环,且每次循环后都将运行次数减半,时间复杂度是O(logn)。

2025-03-14 23:16:54 811 3

空空如也

空空如也

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

TA关注的人

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