摘要:
KMP算法是一种高效的字符串匹配算法。 KMP算法的特点是给定一个主串,给定一个匹配串,问匹配串在主串中出现的次数,匹配串在主串中出现的位置等。 首先我们先看一种暴力的方法——按位对比,若匹配失败从头再来。 我们用两个指针,一个指针i指在主串,一个指针j指在匹配串, 如果s1[i+1]!=s2[j+ 阅读全文
摘要:
字符串Hash用于判断两个字符串是否相同。 字符串Hash的哈希函数构造: 设长度为m的字符串c为H(c) H(c)=(c1*basem-1+c2*basem-2+...+cm*basem-m)%mod; 其中c一般取1-26或1-52;base取自己喜欢的质数,比如131;mod取21475836 阅读全文
摘要:
题目描述 设G为有n个顶点的有向无环图,G中各顶点的编号为1到n,且当为G中的一条边时有i < j。设w(i,j)为边的长度,请设计算法,计算图G中<1,n>间的最长路径。 设G为有n个顶点的有向无环图,G中各顶点的编号为1到n,且当为G中的一条边时有i < j。设w(i,j)为边的长度,请设计算法 阅读全文
摘要:
Description 求图中大于1的强连通分量的个数 Input 第一行 n个顶点 条边 2-2+m-1行 每条有向边的起点终点 Output 个数 题解:tarjan缩点求强连通分量,最后统计一下大于一的强连通分量的个数。 阅读全文