2月26号

今天主要是研究后缀数组——处理字符串的有力工具这个论文来理解题目,并看了几题,首先是SPOJ 694Distinct Substrings这道题给定一个字符串,求不相同子串个数。每个子串一定是某个后缀的前缀,问题就等价于求所有后缀之间的不相同子串个数。然后依次处理每个后缀。每个后缀会贡献n-1-sa[i]-height[i]个新的前缀子串。SPOJ 705 New DistinctSubstrings 然后这道题与上题也类似。URAL 1297 Palindrome这道题题意是给你一个字符串,要你求出这个串中的最长回文字串,如果存在多个,则输出第一次出现的那个。操作起来比较麻烦,把原串的反串加个原串后面,中间加个没有出现过的字符,然后在原串中,下标i在反串中对应的位置为2*l-i  如果求以i为对称轴的回文串,我们求suffix(i)和suffix(2*l-i)的LCP  如果求以i和i+1为对称轴的回文串,我们求suffix(i+1)和suffix(2*l-i)的LCP,表示代码还没看明白但思路好像就是这个思路。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值