![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 74
kyrielrving
无语无语无语
展开
-
浅谈算法_二分图匹配
浅谈算法_二分图匹配定义二分图 简单来说,如果图中点可以被分为两组,并且使得所有边都跨越组的边界,则这就是一个二分图。准确地说:把一个图的顶点划分为两个不相交集U和V,使得每一条边都分别连接U,V中的顶点。如果存在这样的划分,则此图为一个二分图。二分图的一个等价定义是:不含有「含奇数条边的环」的图。图 1 是一个二分图。匹配 在图论中,一个「匹配」(matching)是一个边的集合,其中任原创 2017-08-18 20:06:51 · 557 阅读 · 0 评论 -
浅谈LCT
动态树之LCT(link-cut tree)讲解前言 动态树是一类要求维护森林的连通性的题的总称,这类问题要求维护某个点到根的某些数据,支持树的切分,合并,以及对子树的某些操作。其中解决这一问题的某些简化版(不包括对子树的操作)的基础数据结构就是LCT(link-cut tree)。 LCT的大体思想类似于树链剖分中的轻重链剖分,轻重链剖分是处理出重链来,由于重链的定义和树链剖分是处理静态树所限转载 2017-09-08 19:30:40 · 929 阅读 · 2 评论 -
浅谈数据结构_堆[更新中]
定义堆通常是一个可以被看做一棵树的数组对象。堆总是满足下列性质: - 堆总是一棵完全二叉树; - 堆中某个节点的值总是不大于或不小于其父节点的值;操作假设现在有一个堆(小根堆): tot=1; 现在加入一个数7,我们将其看作一个节点,加入到堆: 这是我们发现没有改变堆的性质,于是我们不用理他,接着加入数3,同理,生成节点,加入到堆: 堆的性质依旧没有改变,继续加入数0:原创 2017-08-15 19:44:26 · 257 阅读 · 0 评论 -
17.10.8B组总结
17.10.8B组总结T1 考试的时候脑子一团糟,随便码了一个伪暴力,数据水,居然还拿了80,QAQ。 正解其实很简单,从后往前一直逆序找,即从n..1,有多少个就用n-它的个数,即为答案。 放代码,供后人享福:var t,n,i,ans,j,r,jl:longint; a,b:array[0..100000]of longint;begin a原创 2017-10-16 14:54:18 · 628 阅读 · 0 评论 -
浅谈算法_tarjan
概念定义 1.专业名词 2.需要的数组大致思想1.求强连通分量2.求边双3.求点双注意概念说道tarjan,第一时间应该想到神奇海螺它是一种强大的图论算法,说起来其实很简单,tarjan是一种求有向图中的强连通分量的算法(当然也可以拓展至无向图)。 接下来让我们来学习下这种强大的算法。定义 1.专业名词1.返祖边...原创 2018-07-14 11:54:57 · 381 阅读 · 1 评论 -
平衡树学习笔记(2)——替罪羊树
文章目录史上最暴力的平衡树——替罪羊树前言大致思路实现部分0.前置1.数组介绍2.内存池1.重构2.插入3.查询1.查询排名第x的数的值2.查询值为x的数的排名4.删除5.判断重构6.综合运用1.插入2.删除3.查询4.查找前驱5.查找后继一些废话总结==**(中考加油!)**==史上最暴力的平衡树——替罪羊树前言 想学替罪羊树很久了,刚开始接触平衡树的时候就久仰替罪羊树的大名,但是无奈经...原创 2019-07-07 20:07:03 · 816 阅读 · 2 评论 -
平衡树学习笔记(1)——splay
文章目录有关splay的一些事1.关于定义2.实现部分0.前置知识1.旋转(rotate)2.伸展(splay)3.建spaly tree(build)4.插入(insert)5.删除(del)6.替换(replace)7.统计答案(getans)3.一些废话4.不知道是不是废话的话==**(中考加油!)**==有关splay的一些事1.关于定义 splay原名伸展树(Splay Tree...原创 2019-07-04 21:10:54 · 234 阅读 · 0 评论