摘要:
回顾一下一些基础算法,Sparse Table有种dp的感觉,写起来有点棘手吧,主要是因为下标的问题,贴一记代码,等下写一个非递归的线段树试试。#pragma warning(disable:4996)#include#include#include#include#include#include#include#define maxn 50000#define max_logn 20using namespace std;int dmin[maxn+20][max_logn];int dmax[maxn+20][max_logn];int a[maxn+50];int n,m;int mai 阅读全文
posted @ 2014-02-02 23:49
chanme
阅读(144)
评论(0)
推荐(0)
摘要:
学后缀数组后的一道裸题。先来讲讲收获,作为字符串初学者,后缀数组也是刚刚在学,所幸的是有一篇好的论文《后缀数组--处理字符串的有力工具》by 罗穗骞,里面非常详尽地介绍了有关后缀数组的概念,也就是sa[i]和rk[i]表示的是什么。理解了它们互为逆运算后就不难理解sa[rk[i]]=i rk[sa[i]]=i,所以知道其中一个就可以知道另外一个,然后学习了一下后缀数组中的倍增算法构建,虽然效率比不上线性的算法,但是胜在好理解,好写。当然大神的代码我是不怎么懂,我就翻阅了另一本书《挑战程序设计竞赛》里的代码,总之就是两个材料一起看,搞懂了什么是高度数组lcp, 也知道了h[i]>=h[i- 阅读全文
posted @ 2014-02-02 21:47
chanme
阅读(667)
评论(0)
推荐(0)
浙公网安备 33010602011771号