- 博客(4)
- 资源 (2)
- 收藏
- 关注
原创 HDU 4270 SAM 后缀自动机
题目:给出一个串,有3种操作, 操作1:在原串后面,添加一个串 操作2:查询长度为len的子串或者长度小于等于len的后缀中字典序最小的 操作3:删除最后的len个字符 关于删除 首先明确一点: 新建的点只与模板点有关系 由新加入的点7产生的点8是根据点3为模板进行复制的(复制所有信息,包括位置)。那么点8是有点3控制的。 可以从两个图看出,删除点7,不删除点8也是可以
2015-03-30 22:20:37 684
原创 poj 3415 SAM后缀自动机
题意: 给出两个串,问这两个串的所有的子串中(重复出现的,只要是位置不同就算两个子串),长度大于等于k的公共子串有多少个。 设A串构造SAM,B串去匹配A串 状态再添加一个值:sum,指这个状态出现多少次了。也就是说B串里面有多少个子串可以进入这个状态。 逆拓扑排序更新父亲结点。 匹配过程中: 注意一点,匹配过程中进入某个状态的串的长度是不固定的。 每次匹配长度l
2015-03-26 21:40:46 834
原创 CF 427D 后缀数组
题意:求两串字符串的公共最短子串,且这个子串只在任意一串中出现一次、 首先明确后缀数组将所有的后缀(也可以视为第i个点开始的子串)字典序排列,将最近似的子串集合在一起。 LCP求的是附近两个子串的最长公共前缀 如果某一个子串当且仅当出现两次,则必须是LCP[i]是局部最大。该子串最大长度为LCP[i],最短长度为max(lcp[i+1],lcp[i-1])+1; 同理,可以推出仅出现N次的
2015-03-26 16:07:58 400
原创 poj 2420 & poj1379 模拟退火
具体模拟退火的原理可参考 http://www.cnblogs.com/heaad/archive/2010/12/20/1911614.html 模拟退火可用于一些 精度 要求不是很高的题目。 比如取答案的0.1,或者没有小数点 poj2420: /* 题意:给定n个点和范围(0,0)--(x,y),在范围内找到一个点,使得n个点到这个点的最小距离最大 模拟退火法 模拟退火的过程
2015-03-16 11:06:21 476
Web性能权威指南 文字版
2018-02-24
HTTP权威指南
2018-02-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人