题面描述 火星人最近研究了一种操作:求一个字串两个后缀的公共前缀。比方说,有这样一个字符串:$madamimadam$,我们将这个字符串的各个字符予以标号: 序号 字符 现在,火星人定义了一个函数$LCQ(x, y)$,表示:该字符串中第$x$个字符开始的字串,与该字符串中第$y$个字符开始的字串, ...
分类:
Web程序 时间:
2019-04-21 14:15:15
阅读次数:
191
Description 火星人最近研究了一种操作:求一个字串两个后缀的公共前缀。比方说,有这样一个字符串:madamimadam, 我们将这个字符串的各个字符予以标号:序号: 1 2 3 4 5 6 7 8 9 10 11 字符 m a d a m i m a d a m 现在, 火星人定义了一个函 ...
分类:
Web程序 时间:
2019-02-04 18:07:10
阅读次数:
174
求公共前缀的问题可以用hash+二分来解决,但这个是动态的,所以我们用平衡树来维护区间的hash值 复杂度$O(mlog^2n)$ ...
分类:
其他好文 时间:
2018-11-14 14:14:47
阅读次数:
162
1014: [JSOI2008]火星人prefix Description 火星人最近研究了一种操作:求一个字串两个后缀的公共前缀。比方说,有这样一个字符串:madamimadam,我们将这个字符串的各个字符予以标号:序号: 1 2 3 4 5 6 7 8 9 10 11 字符 m a d a m ...
分类:
Web程序 时间:
2018-03-15 22:19:14
阅读次数:
257
我们可以使用二分答案来计算。 至于添加和修改操作我们可以使用Splay来维护复杂度O(mlogn)当然Splay常数很大。 BZOJ上长时间TLE,有dalao可以帮忙看看,luogu上能过。 ...
分类:
Web程序 时间:
2018-01-16 14:05:23
阅读次数:
217
...日后会慢慢补(flag!)先来讲讲基本的 一.字符串Hash 将字符串用一个数表示,常用的写法有: 1.自然溢出 2.单Hash 3.双Hash 前两个会被精心构造的串卡掉,最后一个虽然目前卡不掉,但是出题人可以卡你常数。 所以这个算法很Naive?不是的 我们来看一道题 bzoj1014 用 ...
分类:
编程语言 时间:
2017-12-27 22:37:27
阅读次数:
241
...强迫症终于A了这道题 bzoj前30道全A指日可待 splay维护这个结点控制的字符串的hash值 每次旋转重新算一遍就可以了 查询的时候跑一个二分 讲起来很简单但是还是调了1h才调对了splay 把main写完饺子都凉了 没写过几次平衡树 常数写的奇大 能递归的我都递归了。。。 字符串哈希因 ...
分类:
其他好文 时间:
2017-11-25 19:19:37
阅读次数:
92
http://www.lydsy.com/JudgeOnline/problem.php?id=1014 两个后缀的最长公共前缀:二分+hash 带修改带插入:splay维护 1014: [JSOI2008]火星人prefix Description 火星人最近研究了一种操作:求一个字串两个后缀的公 ...
分类:
Web程序 时间:
2017-11-19 12:36:43
阅读次数:
227
1014: [JSOI2008]火星人prefix Description 火星人最近研究了一种操作:求一个字串两个后缀的公共前缀。比方说,有这样一个字符串:madamimadam, 我们将这个字符串的各个字符予以标号:序号: 1 2 3 4 5 6 7 8 9 10 11 字符 m a d a m ...
分类:
Web程序 时间:
2017-10-16 19:23:30
阅读次数:
235
1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 # define maxn 100010 9 # define p 66191 10 using namespace std; 11 type... ...
分类:
Web程序 时间:
2017-09-26 21:14:23
阅读次数:
195