07 2017 档案
摘要:这是一个神奇的课题,其实我觉得用一个词来形容这个算法挺合适的:暴力。 是啊,就是循环+暴力。没什么难的。。。 先来看一道裸题。 那么对于这道题,显然我们的暴力算法就是枚举区间的左右端点,然后通过前缀和统计结果。时间复杂度O(n^2),但是如果我们的数据范围到了100000,那么我们的算法就T了。 于
阅读全文
摘要:补坑补坑。。 其实挺不理解孙爷为什么把这两个东西放在一起讲。。当时我学这一块数据结构都学了一周左右吧(超虚的) 也许孙爷以为我们是省队集训班。。。 好吧,虽然如此,我还是会认真写博客(保证初学者不会出现看不懂的情况啦,如果有的话可以在博客下方留言QAQ,我会尽量解答的。。) 首先先讲一下倍增: 倍增
阅读全文
摘要:补坑咯~ 今天围绕的是一个神奇的数据结构:线段树。(感觉叫做区间树也挺科学的。) 线段树,顾名思义就是用来查找一段区间内的最大值,最小值,区间和等等元素。 那么这个线段树有什么优势呢? 比如我们要多次查询1-n中的最大值,那么我们如果使用暴力来查找,那么我们每次查找的复杂度就是O(n) 但是如果我们
阅读全文
摘要:补坑补坑((╯‵□′)╯︵┻━┻) 内容真的多。。。 一个一个来吧。 首先是最小生成树。 先讲一下生成树的定义 生成树就是在一张图上选取一些边,使得整个图上所有的点都连通。 那么我们要求的最小生成树有两种算法可以求:1、prim算法,2、kruskal算法 我们先讲讲prim算法 prim算法有点像
阅读全文
摘要:补坑时间到QAQ 好吧今天讲的是网络流建模与二分图匹配。。。 day3的网络流建模好像说的差不多了、(囧) 那就接着补点吧。。 既然昨天讲了建图思想,那今天就讲讲网络流最重要的技巧:拆点。 拆点,顾名思义,就是把一个状态拆成数个点以满足题目要求。 今天主要围绕一个例题来讲:修车。(虽然是丧题,但是却
阅读全文
摘要:继续补坑.. 第三天主要是网络流 首先我们先了解一下网络流的最基本的算法:dinic 这个算法的主要做法就是这样的: 在建好的网络流的图上从源点开始向汇点跑一遍BFS,然后如果一条边的流量不为0,那么就往下标号, 每一个点的level都是上一个点的level+1 然后在跑一遍DFS,如果发现边的两个
阅读全文
摘要:补坑ing... 好吧,这是第二天。 这一天我们主要围绕的就是一个人:tarjan。。。。。。创造的强联通分量算法 对于这一天的内容我不按照顺序来讲,我们先讲一讲强联通分量,然后再讲割点与桥会便于理解 首先是强联通分量。。 所谓强联通分量即在一个集合中,所有的点都能互通,那么我们就称这一整个集合是一
阅读全文
摘要:经过12天的滚粗,终于迎来了暑期培训的结尾啦QAQ 结业考才考了90分,真是对不起孙爷(孙爷请收下我的膝盖) orz小粉兔怒D rank 1 获得小粉兔一只QAQ 由于这次12天的培训题目又比较多,算法较难,所以只能等到课程结束之后再来补坑了。 现在开始补坑(BEGIN大工程!!) day1主要知识
阅读全文
摘要:这是一种神奇的算法。 它所解决的问题就是: 对于一个图,图上只有黑点和白点,黑点和白点之间有连边,问黑点和白点的最大匹配数是多少。 讲完问题,我们来讲讲算法。 首先我们要先找到目前没有被匹配的第一个黑色点(此算法可以只做一边(黑或白)) 然后我们找到与他连边的点,并把这两个点标记为一个匹配。 然后我
阅读全文

浙公网安备 33010602011771号