- 博客(2)
- 收藏
- 关注
转载 Manachar算法
首先用一个非常巧妙的方式,将所有可能的奇数/偶数长度的回文子串都转换成了奇数长度:在每个字符的两边都插入一个特殊的符号。 比如 abba 变成 #a#b#b#a#, aba变成#a#b#a#。 为了进一步减少编码的复杂度,可以在字符串的开始加入另一个特殊字符,这样就不用特殊处理越界问题,比如#a#b#a# 下面以字符串12212321为例,经过上一步,变成了 S[] = “#1#2#2#
2017-01-21 16:17:14 466
转载 Tarjan求解有向图强连通分量的线性时间的算法
算法介绍 如果两个顶点可以相互通达,则称两个顶点强连通(strongly connected)。如果有向图G的每两个顶点都强连通,称G是一个强连通图。有向图的极大强连通子图,称为强连通分量(strongly connected components)。 下图中,子图{1,2,3,4}为一个强连通分量,因为顶点1,2,3,4两两可达。{5},{6}也分别是两个强连通分量。 Tarjan算法是用来
2017-01-21 16:07:28 612
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人