自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

原创 Z-Box 算法

Malancer和Z-Box的算法思想很类似,通过维护一个辅助数组,来减少重复的比较都有一个控制范围的概念,在控制范围内则可以利用前面已经计算过的结果来减少算法的计算量,在控制范围外的就只能用最朴素的方式...

2018-07-01 20:53:08 678

原创 线性筛/欧拉筛

问题:列出素数,问题规模较大时解法: #include "stdafx.h" #include <cstring> using namespace std; int prime[1100000], primesize, phi[11000000]; bool isprime[11000000]; void getlist(int listsize) { memset(ispri...

2018-07-01 16:28:44 116

原创 Manacher算法

参考:http://blog.csdn.net/dyx404514/article/details/42061017问题:查找一个字符串的最长回文子串解法:(1)枚举中点再判断回文时间复杂度:O(n^2)(2)Manacher算法时间复杂度:O(n)a.首先加入分隔符来统一长度为奇数和长度为偶数的回文串(加入分隔符后任何回文串都会是奇数的)b.计算len数组len[i]表示以i字符为中心的最长回文...

2018-07-01 15:35:03 114

原创 KMP算法

问题:字符串匹配,一个字符串是否是另一个字符串的一个子串,如果包含,返回包含的起始位置算法:Straightforward:从字符串str和pattern 的第一个字符开始比较,如果不相同就将pattern 往后移一位,再从pattern 的第一位开始比时间复杂度:O(n*m)KMP:实现复杂度为O(m+n)利用pattern的性质,即字串串的部分重复性,使得 1. 不需要从pattern的第一位...

2018-07-01 14:51:36 129

原创 最长公共子序列(Longest Common Sequence, LCS)

问题:给定两个字符串,求解这两个字符串的最长公共子序列注意,这里的序列与字串的含义不同,序列中的各个元素可以不连续,只要保证在两个字符串中出现的顺序相同就可以解法:递归式:由于其中需要重复求解很多子问题,很容易想到用动态规划来优化递归,将子问题的解保存起来int LCS(string str1, string str2) { vector<vector<int>> sol...

2018-07-01 11:34:08 372

原创 并查集

作用:判断两个节点 是否在一个集合内/是否联通数据结构:数组id,id[i] 表示第i个元素的父元素的位置上图表示所有单数节点 和双数节点各在一个集合中主要算法:第一种算法(quick find):抽象数据结构如下,特点是最多只有双层,任何元素的父元素都是该集合的根元素查找父元素:int find(int p) { return id[p]; }quick find 使用O(1)的时间复杂度...

2018-07-01 11:02:14 85

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除