摘要:
原文转自:http://jijiwaiwai163.blog.163.com/blog/static/1862962112012623105531177/1、KMP算法 KMP算法是一种改进后的字符串匹配算法,由D.E.Knuth与V.R.Pratt和J.H.Morris同时发现,因此人们称它为克努特——莫里斯——普拉特操作(简称KMP算法)。通过一个辅助函数实现跳过扫描不必要的目标串字符,以达到优化效果。 KMP(O(n+m))算法与传统的BF算法(O(n*m))想比自然快了许多。 KMP(Knuth-Morris-Pratt)算法核心思想是:在发生失配时,主串不需要回溯,而是利用已经得.. 阅读全文
posted @ 2013-05-08 23:42
冰鸮
阅读(190)
评论(0)
推荐(0)
摘要:
树状数组+扫描线官方题解:本题题目大意在一个01方阵中找出四条边全都是1的正方形的个数,对于正方形内部则没有要求。 一个直观的想法是首先用N^2的时间预处理出每一个是1的点向上下左右四个方向能够延伸的1的最大长度,记为四个数组l, r, u, d。然后我们观察到正方形有一个特征是同一对角线上的两个顶点在原方阵的同一条对角线上。于是我们可以想到枚举原来方阵的每条对角线,然后我们对于每条对角线枚举对角线上所有是1的点i,那么我们可以发现可能和i构成正方形的点应该在该对角线的 [i, i + min(r[i], d[i]) – 1] 闭区间内, 而在这个区间内的点 j 只要满足 j – i + 1 阅读全文
posted @ 2013-05-08 23:36
冰鸮
阅读(189)
评论(0)
推荐(0)

浙公网安备 33010602011771号