- 博客(6)
- 收藏
- 关注
翻译 markdown编辑器使用方法
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...
2019-07-21 19:28:27
239
原创 并查集
并查集,在一些有N个元素的集合应用问题中,我们通常是在开始时让每个元素构成一个单元素的集合,然后按一定顺序将属于同一组的元素所在的集合合并,其间要反复查找一个元素在哪个集合中。这一类问题近几年来反复出现在信息学的国际国内赛题中,其特点是看似并不复杂,但数据量极大,若用正常的数据结构来描述的话,往往在空间上过大,计算机无法承受;即使在空间上勉强通过,运行的时间复杂度也极高,根本就不可能在比赛规定的运...
2019-07-19 19:38:04
121
原创 最小生成树——kruskal和简单介绍prim
最小生成树,建立在并查集结构上的数据处理方法之一,目的是找到一条最短的路径联通图中每一个点。kruskal比较好理解的地方在于,这是一个贪心思想实现的代码。它是将边按权值排序,每次从剩下的边集中选择权值最小且两个端点不在同一集合的边加入生成树中,反复操作,直到加入了n-1条边。很简单的思路,实现起来比较方便。隔壁的prim算法:其实没什么好说的,就是把dijkstra照着打一遍就对了。本质上...
2019-07-19 19:24:27
200
原创 单调队列简单应用——最大子序和
Description输入一个长度为n的整数序列,从中找出一段不超过m的连续子序列,使得整个序列的和最大。 例如 1,-3,5,1,-2,3 当m=4时,S=5+1-2+3=7 当m=2或m=3时,S=5+1=6。Input第一行两个数n,m(n,m<=300000) 第二行有n个数,要求在n个数找到最大子序和。Output一个数,即最大子序和S(S值不超过long long in...
2019-07-19 19:16:22
320
原创 线段树初步
线段树之所以称为“树”,是因为其具有树的结构特性。线段树由于本身是专门用来处理区间问题。上图为线段树的建立过程对于每一个子节点而言,都表示整个序列中的一段子区间;对于每个叶子节点而言,都表示序列中的单个元素信息;子节点不断向自己的父亲节点传递信息,而父节点存储的信息则是他的每一个子节点信息的整合。可以看见,线段树就是分块思想的树化,或者说是对于信息处理的二进制化——用于达到O(logn)级...
2019-07-18 19:24:10
194
1
原创 数据结构:单调栈——矩形面积例题
**单调栈的基础运用**首先看题目。这是一道经典的模板题目。用来训练我们的单调栈。那么我们为什么会想到以单调栈来解决这道题呢?我们先画图分析:可以看到,由于n的范围太大导致一般的结构会超时。我们的推理从特殊到一般,从中寻找方法途径。这是理想化模型,那么推广到一般形式呢?这样我们就找到了使用单调栈的依据。以上就是基本的算法思考过程和思路,代码实现上需要综合考虑,使得我们...
2019-07-15 20:55:47
432
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅