自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 KMP算法详解

KMP算法是一种高效的字符串匹配算法,通过预处理模式字符串生成部分匹配表(next数组),避免不必要的比较,将时间复杂度从O(mn)降低到O(m+n)。算法的核心思想是利用已匹配的信息,指导模式串的移动。预处理阶段构建next数组,记录每个位置的最长相同前缀后缀长度;匹配阶段则利用next数组进行快速匹配。KMP算法的时间复杂度为O(m+n),空间复杂度为O(m)。文章还提供了C++的string风格和char数组风格的代码实现,帮助读者更好地理解和应用该算法。

2025-05-23 11:43:13 898

原创 P7333 [JRKSJ R1] JFCA 题解

那么问题就转化为求区间极值的问题, 暴力求解区间极值会超时, 很容易想到。(右)为起点, 寻找一个最小的区间使区间极值。###代码示例(暴力)查找。问题可以简化为在位置。

2025-04-28 12:07:18 988

原创 迪杰斯特拉算法优先队列优化

迪杰斯特拉算法的每一轮, 都需要找一个未被访问且距离起点最近的点来进行操作, 这个寻找的过程需要遍历距离数组, 比较耗时;当我们每次更新一个点的距离时, 可以将当前点与距离组合成pair, 放入优先队列, 优先队列以距离排序, 使得队首为距离最小元素, 这样, 每次取出队首, 就可以知道距离起始点最近的点, 大大优化计算时间。

2025-03-26 14:20:52 190

原创 欧拉路径与欧拉回路(欧拉回路)

欧拉回路解题模版

2025-02-25 10:40:58 566

原创 线段树-简记

线段树(加法, 加与乘) 简记, 无具体细节讲解, 可忽略。

2024-12-31 10:21:23 888

原创 区间极值查询-倍增法ST表解法

区间极值查询, 倍增ST表方法。

2024-06-19 17:56:50 825

原创 素数筛选: 埃氏筛与欧拉筛

举个🌰: 假定 num = 30, num 会被 2, 3, 5分别筛选一次, 相当于多做了两次筛选, 且 num 越大, 重复筛选的次数就越多。埃氏筛的原理: 唯一分解定理, 即一个合数, 必然能够分解为数个素数的乘积, 且这种分解的结果是唯一的。emmm, 但愿能看懂吧, 看不懂也没关系, 死记硬背就完事了, 奥利给。程序实现: 将范围内所有的素数的倍数都标记为合数, 剩余未标记的即为素数。埃氏筛选有一个问题: 同一个合数, 会被多个素数筛选掉。

2024-06-03 15:19:44 665 4

原创 最短路径 - 迪杰斯特拉算法

最短路径 - 迪杰斯特拉算法

2023-12-25 19:27:56 1033 1

原创 题解: P1047 [NOIP2005 普及组] 校门外的树

由于马路上有一些区域要用来建地铁。这些区域用它们在数轴上的起始点和终止点表示。已知任一区域的起始点和终止点的坐标都是整数,区域之间可能有重合的部分。现在要把这些区域中的树(包括区域端点处的两棵树)移走。你的任务是计算将这些树都移走后,马路上还有多少棵树。输出一行一个整数,表示将这些树都移走后,马路上剩余的树木数量。我们可以把马路看成一个数轴,马路的一端在数轴。的马路上有一排树,每两棵相邻的树之间的间隔都是。第一行有两个整数,分别表示马路的长度。,表示一个区域的起始点和终止点的坐标。数轴上的每个整数点,即。

2023-12-12 18:09:07 1096

原创 并查集与哈希表

若某个家族人员过于庞大,要判断两个是否是亲戚,确实还很不容易,现在给出某个亲戚关系图,求任意给出的两个人是否具有亲戚关系。行:每行两个数 Pi, Pj,询问 Pi 和 Pj 是否具有亲戚关系。表示第 i 个询问的答案为“具有”或“不具有”亲戚关系。

2023-11-01 00:58:03 70

原创 题解: [NOIP1999 普及组] 导弹拦截

导弹拦截问题, 动态规划求解

2023-10-31 23:57:44 158 1

原创 信息学奥赛一本通编程启蒙<例 65.3> 细胞个数

BFS 做法: 手写队列。

2023-10-25 22:26:17 201

原创 01背包与完全背包-python

物品重量 w = [3, 4, 5, 7]物品价值 v = [1, 5, 6, 9]物品数量 n = 4背包容量 c = 10。

2023-10-21 00:45:44 143

原创 统计方形的数量之不同解法

有一个 n x m 的棋盘,问棋盘里有多少个正方形和长方形,长方形里不含正方形。

2023-10-20 00:06:38 87

原创 13届蓝桥杯省赛-python:第10题孤岛问题

第⼀⾏输⼊两个正整数N和M,N表示矩阵⽅格的⾏,M表示矩阵⽅格的列,N和M之间以⼀个英⽂逗号隔开,第⼆⾏开始输⼊N⾏,每⾏M个数字 (数字只能为1或者0,1表示没被污染的海域,0表示已被污染的海域)有⼀⽚海域划分为N*M个⽅格,其中有些海域已被污染(⽤0表示),有些海域没被污染(⽤1表示)。块海域(绿⾊)没被污染,因为每⼀块的上下左右都被污染的海域包围。输出⼀个整数,表示N*M的海域中有⼏块是没被污染的独⽴海域。输⼊函数的括号中不允许添加任何信息。这块4*5的海域,有。

2023-08-05 17:42:10 440

空空如也

空空如也

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

TA关注的人

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