自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 学习笔记:最短路

本文介绍了单源最短路径算法的核心概念和实现方法。主要内容包括:1)松弛操作的定义和性质(三角不等式、收敛性、路径松弛性);2)链式前向星存图方法及其代码实现;3)Dijkstra算法原理、朴素版和堆优化版的实现(时间复杂度O(n²+m)和O(mlogm));4)SPFA算法作为Bellman-Ford的队列优化版本。通过洛谷P4779模板题展示了算法应用,适用于非负权图的最短路径求解,数据规模可达1e5节点和2e5边。

2025-08-02 20:43:06 761

原创 学习笔记 - 基础字符串

本文介绍了五种经典字符串处理算法:字符串哈希、KMP 算法、最小表示法、字典树、Manacher算法

2025-08-01 09:29:15 817

原创 学习笔记 - 圆方树 (Block-Forest Tree)

圆方树是一种将无向图转换为树形结构的方法,通过将点双连通分量转化为方点,保留原图结构信息。构建过程采用Tarjan算法识别点双连通分量和割点,时间复杂度 O(n+m)。主要特点包括:圆点与方点交替出现、保留原图路径信息。应用场景包括仙人掌图的最短路径查询,利用LCA处理后查询复杂度为 O(logn)。参考代码展示了从原图预处理到查询处理的完整实现,适用于处理含环图的路径问题。

2025-07-31 19:54:43 757 2

原创 题解:P10799 三角形与树

本题涉及树上路径操作和查询。对于查询操作,当两点路径长度超过46时,必然能构成三角形;否则暴力排序检查。对于修改操作,使用树链剖分+线段树维护路径异或。时间复杂度为O((n+q)logn + qSlogS),其中S为路径长度。代码实现包含树链剖分预处理、线段树维护和查询处理。

2025-07-15 20:13:31 399

原创 题解:JOISC2020 Day 1 T2 美味的汉堡牛肉饼

题目要求在平面上给定n个矩形,选择k个点使得每个矩形内至少包含一个点。文中采用随机化算法,初始随机选择k个矩形作为点集,通过不断调整点集位置来满足条件。具体步骤包括:计算两个矩形的交集区域,检查当前点集是否覆盖所有矩形,若未覆盖则随机交换矩形重新计算。该算法通过循环迭代,最终输出满足条件的k个点坐标。代码实现利用随机选择和交集计算来优化点集位置,确保覆盖所有给定矩形。

2025-07-15 15:05:41 112

原创 学习笔记 - 信息学竞赛中的持久化数据结构与技巧

为一个新的数据结构版本,新建的结点的前驱是被合并的结点的一次修改操作,新建的结点的前驱是被修改的一个结点,是由合并结点拼接而成的。以上是一个版本序列,如果是部分持久化只能从第二个版本进行修改,而完全持久化可以从任意一个版本的基础上进行修改。如图,版本一和版本二就合并成了版本三,版本三由版本一和版本二拼接而成,版本四也同理。所有的版本构成一个序列,每次只能修改最后一个版本得到新的版本加入序列叫做。那么整个从指定版本中修改得到新的版本的过程就构成了一颗版本树,如图,,还可由第一个版本得第五个版本。

2024-02-24 16:28:46 1006

原创 学习笔记 - 二分查找与答案(附归并模版、前缀和、差分)

二分也就是二分查找,又叫折半查找。这种算法正如其名,每一次都要分一半。二分算法可以分为二分查找和二分答案。以在一个升序数组中查找一个数为例,每次考察数组当前部分的中间元素,如果中间元素刚好是要找的,就结束搜索过程;如果中间元素小于所查找的值,那么左侧的只会更小,不会有所查找的元素,只需到右侧查找;如果中间元素大于所查找的值同理,只需到左侧查找。二分查找和二分答案有什么区别?二分查找:在一个已知的有序数据集上进行二分地查找二分答案:答案有一个区间,在这个区间中二分,直到找到最优答案。

2024-02-24 16:27:31 1039 1

空空如也

空空如也

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

TA关注的人

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