
资料整理
文章平均质量分 91
詹明捷
此博客停止更新,迁移至www.zhanmingjie.com
展开
-
树状数组学习资料1
1 一维树状数组 1 什么是树状数组 树状数组是一个查询和修改复杂度都为log(n)的数据结构,假设数组A[1..n],那么查询A[1]+...+A[n]的时,间是log级别的,而且是一个在线的数据结构。 2 树状数组作用 我们经常会遇到动态连续和查询问题,给定n个元素A[1~N],让我们求sum[L,R] = A[L]+...+A[R],或原创 2015-08-27 00:18:03 · 917 阅读 · 0 评论 -
矩阵构造方法
Fibonacci数列:F(0)=1 , F(1)=1 , F(n)=F(n-1)+F(n-2) 我们以前快速求Fibonacci数列第n项的方法是 构造常系数矩阵 (一) Fibonacci数列f[n]=f[n-1]+f[n-2],f[1]=f[2]=1的第n项快速求法(不考虑高精度) 解法: 考虑1×2的矩阵【f[n-2],f[n-1]】。根据Fibonacci数列的递原创 2015-09-16 21:13:09 · 541 阅读 · 0 评论 -
Manacher算法
问题描述: 输入一个字符串,求出其中最大的回文子串。子串的含义是:在原串中连续出现的字符串片段。回文的含义是:正着看和倒着看相同,如abba和yyxyy。 解析: 这里介绍O(n)回文子串(Manacher)算法 算法基本要点:首先用一个非常巧妙的方式,将所有可能的奇数/偶数长度的回文子串都转换成了奇数长度:在每个字符的两边都插入一个特殊的符号。比如 abba 变原创 2015-09-18 21:26:10 · 524 阅读 · 0 评论 -
kmp next函数 kmp的周期问题,深入了解kmp中next的原理
----------------------- ----------------------- k m x j i 由上,next【i】=j,两段红色的字符串相等(两个字符串完全相等),s[k....j]==s[m....i] 设s[x...j]=s[j....i](xj=ji) 则可得,以下简写字符串表达方式 kj=kx+xj; mi=m原创 2015-09-23 16:32:21 · 622 阅读 · 0 评论 -
【模式匹配】之 —— Z-BOX算法
一 Z-BOX的概念二 Z-BOX算法的计算过程三 Z-BOX算法的代码实现C语言版四 Z-BOX算法在具体的模式匹配字符串查找中的应用五 总结 在字符串的模式匹配中,有单模匹配和多模匹配之分。本系列文章将对单模匹配和多模匹配逐一进行讲解。其中单模匹配中将会讲解以下几个算法: Z-BOX算法KMP算法BM算法sunday算法 第一篇文章,我们从Z-BOX算法开始讲原创 2015-09-23 21:28:36 · 730 阅读 · 0 评论