- 博客(5)
- 收藏
- 关注
原创 KMP算法
KMP算法( 一 )Next数组(作用是在模式串中提取加速匹配的信息) Next数组储存的是前j-1个字符的匹配 即a[0]a[1]a[2]a[3]…a[k-1]和a[j-k]a[j-k+1]…a[j-1] 所能匹配的k的最大值。 Next数组的求解: ( 1 )next[0]=-1,next[1]=0(j=1,在1~j-1的位置上没有字符...
2018-05-13 22:03:03
547
原创 浅谈最小生成树
让我们先了解一下什么是最小生成树,就是在一个图里找到一颗树的权值和最小。一.Kruskal算法我们现在有如下的一张图: 求这个图的最小生成树,我们可以先给各权值边从小到大排序,排好序之后进行选边,从最小的开始,从无边开始加。比如上图,最小的权值边是1和2连通的1,我们把这条边加上,就得到了:接下重复第一个操作,下一个是1和3之间的权值为2:接下来是4和6之间的边:5和6之间的权值:按...
2018-05-13 20:28:08
509
原创 并查集
并查集 让我们先来了解一下什么是并查集 假设现在有10个人 给你一些信息判断他们有多少个班 1和2是一个班 3和4是一个班 5和2是一个班 4和6是一个班 2和6是一个班 8和7是一个班 9和7是一个班 1和6是一个班 2和4是一个班 解决这个问题 先假设他们都不在一个班 每个人都有独立的班级 然后利用条件进行合并 最终可以得到 5...
2018-05-13 17:20:36
266
原创 Face The Right Way(反转问题)POJ- 3276
题目链接 https://vjudge.net/problem/POJ-3276题意:让n头牛 以k为区间进行反转 求最小的反转次数m和此时对应的k值。思路:区间为k,从第一个往后遍历,如果遇到面向反的,翻转次数加一,整个区间都反转,区间第一个反转的f[i]变为1,用于说明这个区间已经反转,如果遇到反方向的则继续实行,每次到这个区间的区间尾,要减去一开始的f[i-k+1] ,注意sum记录的是这个...
2018-05-12 11:10:52
496
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人