摘要:
说到以Tarjan命名的算法,我们经常提到的有3个,其中就包括本文所介绍的求强连通分量的Tarjan算法。而提出此算法的普林斯顿大学的Robert E Tarjan教授也是1986年的图灵奖获得者(具体原因请看本博“历届图灵奖得主”一文)。 首先明确几个概念。 关于Tarjan算法的伪代码和流程演示 阅读全文
摘要:
在某大佬的帮助下我今天get到了分块 简单来说分块就是可以把块分成某些奇怪的大小,使之达到优秀的复杂度。but我现在只会把块分成根号大小,然后我们修改一个点的 信息时就可以顺便修改次点所在块的信息(O(1))。接着当我们查询[L,R]这段区间,的时候,对于中间的大块可以直接拿来用,对于两 边不完整的 阅读全文
摘要:
我只想一个无忧无虑的当一个大爷 阅读全文
摘要:
今天代码实现时,发现我昨天的理解有一个误区:分层图是要不断建立的,而不是建一次就够了。 下面贴出我的代码(不得不说,用链式前向星存图真是方便) [cpp] view plain copy #include<iostream> #include<cstring> #include<cstdio> us 阅读全文
摘要:
前言(不没有什么鸡蛋的内涵) 本蒟蒻今天继续刷BZOJ 果然 一开始就不会做 唉 搜一下正解,是最大流,反正我啥也不会,学!!! 鼓捣了一会,居然搞懂了Dinic算法 正文: 其实懂了以后发现其实还是很好理解的。 我觉得核心的思想主要分为几步:1.用BFS构造层次图 只保留每个点出发到下一个层次的弧 阅读全文
摘要:
前言: 之前学链式前向星的时候,发现网上的博客一点都不友好 所以今天花一点一时间来撸一撸链式前向星 :D(二傻子般的微笑) 转载请注明出处也不知道哪里来的自信觉得有人会转 正文:链式前向星的主要就是下面这几行了 介绍一下 第一个出场的是edge.c——权重 好的,我们看到紧随其后的是edge.to— 阅读全文
摘要:
之前勉强讲完了一个题,但还是理解的不太好 睡一觉起来看了百度百科后豁然贯通 树链剖分和线段树的区别就是它可以维护一条链,,比单纯的线段树要机智一些(2333)。 所以说科普一下百度百科还是很有必要的 方法 常见的路径剖分的方法是轻重树链剖分(启发式剖分) 将树中的边分为:轻边和重边 ž定义size( 阅读全文
摘要:
本蒟蒻今天开始刷BZOJ 本来准备愉快的水完降序排列的一波题 。。结果。。我果然是个弱菜 题目传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1036 上网搜了一下,可以用树链剖分解决,正好我不会,就学了一下。 深吸一口,我要开始转述了, 树链 阅读全文