首页 技术 正文
技术 2022年11月21日
0 收藏 909 点赞 4,781 浏览 388 个字

Description

bzoj[3238][ahoi差异]

Input

一行,一个字符串S

Output

一行,一个整数,表示所求值

Sample Input

cacao

Sample Output


HINT

2<=N<=500000,S由小写英文字母组成

Solution

首先,对于原式中的len(Ti)+len(Tj)可以简单初始化得到,即1*(n-1)+…+i*(n-1)+…+n*(n-1)

此题的难点在于怎样求解2*LCP(Ti,Tj)的值

利用后缀数组的性质,可以看出,求LCP(Ti,Tj)即求min{h[rank[i]],…,h[rank[j]]}

对于此题,由于不用修改,我们不用考虑两两枚举i、j串再求最小值,只要考虑对于每个后缀i对其前后区间的最小值的贡献

设对于i点,它的最小值贡献区间为l[i],r[i]

则i对原始的贡献为 -(i-l[i]+1)*(r[i]-i+1)*h[i]

那么,就可以很容易的求解此题了

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,905
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,430
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,247
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,058
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,690
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,727