#P13242. 「2.48sOI R1」你的名字

    ID: 14403 远端评测题 5000ms 1536MiB 尝试: 0 已通过: 0 难度: 7 上传者: 标签>可持久化线段树分块后缀数组 SA

「2.48sOI R1」你的名字

题目背景

题目描述

由于你不会交换身体,所以需要解决一道题目。

occ(u,v)\operatorname{occ}(u,v)字符串 v\boldsymbol v字符串 u\boldsymbol u的出现次数。并记 t[l,r]t[l,r] 表示字符串 tt 由第 ll 到第 rr 个字符组成的子串。

给定字符串序列 (s1,,sn)(s_1,\dots,s_n) 和正整数序列 (a1,,an)(a_1,\dots,a_n) 以及字符串 tt,有 qq 次询问,每次询问有四个参数 l1,r1,l2,r2l_1,r_1,l_2,r_2,求:

$$\sum\limits_{i=l_1}^{r_1}\left(\operatorname{occ}(s_i,t[l_2,r_2])\times\min\limits_{j=l_1}^{i}a_j\right) $$

对于 o=1o=1 的子任务,你需要支持在线询问。

输入格式

n+q+3n+q+3 行。

  • 第一行六个正整数 sid,n,q,o,L,R\text{sid},n,q,o,L,R。其中 sid\text{sid} 表示测试点所在 Subtask 编号。特别地,对于样例,sid=0\text{sid}=0。其余量意义如题所示。

  • 2n+12\sim n+1nn 个字符串 (s1,,sn)(s_1,\dots,s_n)

  • n+2n+2 行一个字符串 tt

  • n+3n+3nn 个正整数 (a1,,an)(a_1,\dots,a_n)

  • n+4n+q+3n+4\sim n+q+3 行每行四个正整数 L1,R1,L2,R2L_1,R_1,L_2,R_2,描述一个询问。

对于第 ii 个询问,记第 i1i-1 个询问的答案为 lst\text{lst}(若 i=1i=1lst=0\text{lst}=0),则 l1,l2,r1,r2l_1,l_2,r_1,r_2 为:

  • l1=(L1+o×lst1)modn+1l_1=(L_1+o\times\text{lst}-1)\bmod n+1
  • r1=(R1+o×lst1)modn+1r_1=(R_1+o\times\text{lst}-1)\bmod n+1
  • l2=(L2+o×lst1)modt+1l_2=(L_2+o\times\text{lst}-1)\bmod |t|+1
  • r2=(R2+o×lst1)modt+1r_2=(R_2+o\times\text{lst}-1)\bmod |t|+1

l1>r1l_1>r_1,则交换 l1,r1l_1,r_1。对于 l2,r2l_2,r_2 同理。

LL 不为 1-1 时,你需要将所有 l1l_1 改为 LL;当 RR 不为 1-1 时,你需要将所有 r1r_1 改为 RR(若初始的 l1>r1l_1>r_1,本操作在交换 l1,r1l_1,r_1 之后进行)。

输出格式

qq 行,第 ii 行表示第 ii 场梦境的⌈结⌋,即形式化题意中第 ii 个询问的答案。

0 6 6 0 -1 -1
aaaaabababaabab
baaabaabababaabba
aabababbaabaabab
abaababababaabaaaba
baabababababaaababa
bababaababababaabab
baababababaaaaababbbaaababaabababaabb
114 51 41 91 98 10
1 6 16 18
2 5 11 12
3 4 1 2
1 5 4 6
3 5 3 4
1 5 7 12
955
614
492
895
820
247
0 6 6 1 -1 -1
aaaaabababaabab
baaabaabababaabba
aabababbaabaabab
abaababababaabaaaba
baabababababaaababa
bababaababababaabab
baababababaaaaababbbaaababaabababaabb
114 51 41 91 98 10
1 6 16 18
2 5 11 12
3 4 1 2
1 5 4 6
3 5 3 4
1 5 7 12
955
900
287
1344
820
41

0 6 6 1 1 -1
aaaaabababaabab
baaabaabababaabba
aabababbaabaabab
abaababababaabaaaba
baabababababaaababa
bababaababababaabab
baababababaaaaababbbaaababaabababaabb
114 51 41 91 98 10
1 6 16 18
2 5 11 12
3 4 1 2
1 5 4 6
3 5 3 4
1 5 7 12
955
1662
1358
824
1184
165

0 6 6 1 -1 6
aaaaabababaabab
baaabaabababaabba
aabababbaabaabab
abaababababaabaaaba
baabababababaaababa
bababaababababaabab
baababababaaaaababbbaaababaabababaabb
114 51 41 91 98 10
1 6 16 18
2 5 11 12
3 4 1 2
1 5 4 6
3 5 3 4
1 5 7 12
955
900
430
348
41
0

提示

【样例解释 #1】

以最后一组询问为例,t[7,12]=ababaat[7,12] = \texttt{ababaa}。给出要用的 occ\text{occ} 数据:

  • $\text{occ}(s_1,t[7,12])=\text{occ}(s_2,t[7,12])=\text{occ}(s_4,t[7,12])=\text{occ}(s_5,t[7,12])=1$。

  • occ(s3,t[7,12])=0\text{occ}(s_3,t[7,12])=0

答案为 $114\times 1+51\times 1+41\times 0 + 41\times 1 + 41\times 1 = 247$。

【数据范围】

本题采用捆绑测试。

m=i=1nsim=\sum\limits_{i=1}^n\lvert s_i\rvert

sid=\text{sid}= n,m,tn,m,\lvert t\rvert\le qq\le aia_i\le o=o= 特殊性质 分值 子任务依赖
11 100100 10910^9 00 55
22 2×1052\times 10^5 11 A\text{A} 1010
33 11 1515
44 10410^4 10910^9 00 11
55 2×1052\times 10^5 2020 44
66 11 B\text{B} 55
77 C\text{C} 2020
88 1010 2,3,5,6,72,3,5,6,7

特殊性质 A\text{A}sis_itt 均为 a

特殊性质 B\text{B}L=1L=1

特殊性质 C\text{C}R=nR=n

对于 100%100\% 的数据,1n,m,t2×1051\le n,m,\lvert t\rvert\le 2\times 10^51q2×1051\le q\le 2\times 10^51ai1091\le a_i\le 10^9o{0,1}o\in\{0,1\}0sid80\le \text{sid}\le 81L,Rn1\le L,R\le nL,R=1L,R=-1