Algorithms
捡石子的小孩
这个作者很懒,什么都没留下…
展开
-
KMP算法详解
原创来自Matrix67,点击进入如果机房马上要关门了,或者你急着要和MM约会,请直接跳到第六个自然段。我们这里说的KMP不是拿来放电影的(虽然我很喜欢这个软件),而是一种算法。KMP算法是拿来处理字符串匹配的。换句话说,给你两个字符串,你需要回答,B串是否是A串的子串(A串是否包含B串)。比如,字符串A="I'm matrix67",字符串B="matrix",我们就说B是A的子串。转载 2012-09-20 22:53:13 · 610 阅读 · 0 评论 -
树状数组
当要频繁的对数组元素进行修改,同时又要频繁的查询数组内任一区间元素之和的时候,可以考虑使用树状数组. 通常对一维数组最直接的算法可以在O(1)时间内完成一次修改,但是需要O(n)时间来进行一次查询.而树状数组的修改和查询均可在O(log(n))的时间内完成. 一、回顾一维树状数组假设一维数组为A[i](i=1,2,...n),则与它对应的树状数组C[i](i=1,2,转载 2013-01-01 22:19:31 · 717 阅读 · 0 评论 -
约瑟夫问题
问题描述:n个人(编号0~(n-1)),从0开始报数,报到(m-1)的退出,剩下的人继续从0开始报数。求胜利者的编号。我们知道第一个人(编号一定是(m-1) mod n) 出列之后,剩下的n-1个人组成了一个新的约瑟夫环(以编号为k=m mod n的人开始):k k+1 k+2 ... n-2,n-1,0,1,2,... k-2并且从k开始报0。现在我们把他们的编号做一下转换:原创 2013-01-14 22:15:44 · 686 阅读 · 0 评论