ACM
文章平均质量分 66
Liushilei2017
加油!
展开
-
ACM 并查集
并查集,在一些有N个元素的集合应用问题中,我们通常是在开始时让每个元素构成一个单元素的集合,然后按一定顺序将属于同一组的元素所在的集合合并,其间要反复查找一个元素在哪个集合中。这一类问题近几年来反复出现在信息学的国际国内赛题中,其特点是看似并不复杂,但数据量极大,若用正常的数据结构来描述的话,往往在空间上过大,计算机无法承受;即使在空间上勉强通过,运行的时间复杂度也极高,根本就不可能在比赛规定的运行转载 2017-11-26 21:14:29 · 266 阅读 · 1 评论 -
KMP算法及next数组详解
最近整理笔记时,突然翻出几年前理解起来困难无比的看毛片(KMP)算法,笔记中详述了搜索过程,图文并茂,然而在最最重要的next数组部分却是一带而过,于是找出当年的教材,也只是写了getnext()函数,想着上网找一找图文并茂的举例,结果这一找彻底蒙比,众说纷纭,同样一个子串,处理得到的“next数组”全不一样,抛开数组以0开始还是以1开始这一问题,还有三种不同的结果。 事实上这三种“next数转载 2018-03-27 19:21:17 · 448 阅读 · 0 评论 -
直接写出KMP中next数组(附 改良版next)
一、例如:位置i12345678字符串abaabcacnext [ i ]01122312很久没看KMP了,但数据结构老师讲到了这里,还是得好好看看。想起以前学的时候的绞尽脑汁,就期待老师能讲出通俗易懂的理解来。结果把我的理解讲混沌了,但是确实得到了一个特简单直接写出next数组的方法。如下:首先我是next数组从-1开始的,但为了方便看,一下都从1开始。next[1] = 0 , next [2...原创 2018-03-27 21:18:23 · 486 阅读 · 1 评论