#P6517. 「雅礼集训 2018 Day11」字符串

「雅礼集训 2018 Day11」字符串

题目描述

NN 个字符串,每个字符串有一个权值 viv_i。随后给出 MM 次询问,每次对一个区间进行检测。令最长的字符串长度为 LL,那么会给出 g1,...,gLg_1, ..., g_L 表示每个长度的字符串的「识别值」。

对若干个字符串构成的集合 PP 进行测试的过程如下:

对字符串 SS 定义 f(S)f(S) 表示 SSPP 中以其为前缀出现的串的权值和。 那么如果 SSPP 中作为前缀出现过,并且 Bf(S)+A×len(S)CBf(S) + A\times {\rm len}(S) \geq C,那么则将 glen(S)g_{{\rm len}(S)} 加入集合 GG

最后随机选择一个区间 [x,y](1xyL)[x, y](1 \leq x \leq y \leq L),如果 [x,y]G[x, y] \bigcap G \neq \emptyset,那么测试成功,否则测试失败。输出测试成功的概率并用最简分数表示。

特别地,整数 kk 表示为 k/1k / 1

输入格式

第一行四个数 N,A,B,CN, A, B, C

接下来一行 NN 个数 v1,...,vNv_1, ..., v_N

接下来 NN 行表示 NN 个字符串。

接下来一行 LL 个数表示 g1,...,gLg_{1}, ... ,g_L,保证 g1,...,gLg_1, ..., g_L 是一个 11LL 的排列。

接下来一行一个数 MM

接下来 MM 行,每行两个数 l,rl, r,表示对第 ll 到第 rr 个字符串进行测试。

输出格式

MM 个数表示答案。

5 2 3 15
1 2 3 2 0
aba
aa
abb
aaa
bbbb
1 3 2 4
6
1 4
1 3
2 3
2 4
5 5
3 5
9/10
9/10
7/10
9/10
0/1
7/10

数据范围与提示

测试点编号 N,MN, M \leq si\sum\left\vert s_i\right\vert \leq sis_i \leq
1 1010 3030
2 100100 300300
3 10001000 30003000
4 1000010000 3000030000 1010
5 10510^5 3×1053\times 10^5
6 1000010000 3000030000
7 2000020000 5000050000
8 3000030000 7000070000
9 5000050000 100000100000
10 10510^5 3×1053\times 10^5

对于 100%100 \% 的数据, 0vi,A,B,C1090 \leq v_i, A, B, C \leq 10^9