自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 线段树详解(洛谷模板题)

一、算法概况    线段树是一种二叉搜索树,它将一个区间分成多个单元区间,每个单元区间对应线段树的一个叶子节点,有查询区间和,查询区间最大值、最小值等功能(本篇讲解的是求区间和的代码),由于它二叉结构的特性,使得他的操作复杂读为O(logN)    线段树的根节点代表所要维护的值在总区间 [a,b] 的值,他的左子节点代表区间 [a,(a+b)/2] ,他的右子节点代表区间 [(a+b)/

2017-11-11 15:40:47 1184

原创 dijkstra堆优化 详解(洛谷模板题)

一、算法概况 dijkstra是一种稳定的求单源最短路的算法,时间复杂度O((m+n)logn)  ,m表示边数,n表示点数。二、算法过程1.将源点以及和他相连的点加入堆2.选出堆顶元素A(代价最小的元素),将他从堆中删除,然后调整堆3. 处理与u相邻的,未被访问过的,满足三角不等式的顶点    1):若该点在堆里,更新距离,并调整该元素在堆中的位置。    2):

2017-11-09 20:07:52 1079

原创 LCA详解(洛谷模板题)

一、算法定义 LCA是在线查询树上两点的最近公共祖先的算法,可运用倍增的方法,时间复杂组O(nlogn)二、算法过程    1.倍增使深度较深的点跳到和深度较浅的点同一深度。    2.两个点一起往上跳,直到找到公共祖先三、分步代码详解1.预处理:通过dfs,求出树上每个节点的深度。注:p[x][0]是x的父节点,如果遍历到父节点则跳过,其他的与该点相邻的点都是他的子节点

2017-11-09 20:03:21 1443

原创 spfa算法(洛谷模板题)

一、概况 SPFA算法是常用的最短路算法之一,复杂度还是非常可观的。 但缺点在于遇到稠密图或者某些奇特的图时可能会变慢。 SPFA算法是一种单元算法,选择一个出发点,计算它与其他点的最短距离。通过更新边来不断更新最短路。在图论的最短路题中应用十分广泛。 二、过程 1.初始化每个节点到第一个点的距离 其他点到第一个点的距离赋个大数(such as 19260817)方便此后进

2017-11-08 20:09:25 966

空空如也

空空如也

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

TA关注的人

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