AT_abc280_h.[ABC280Ex] Substring Sort
NOI/NOI+/CTSC
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给定 N 个字符串 S1,S2,…,SN。令 M=i=1∑N2∣Si∣(∣Si∣+1)。
对于字符串 S 和整数 L,R,S[L,R] 表示 S 的第 L 个字符到第 R 个字符组成的子串。
长度为 M 的三元组序列 ((K1,L1,R1),(K2,L2,R2),…,(KM,LM,RM)) 满足以下条件:
- M 个元素互不相同。
- 对于所有 1≤i≤M,有 1≤Ki≤N 且 1≤Li≤Ri≤∣SKi∣。
- 对于所有 1≤i≤j≤M,有 SKi[Li,Ri]≤SKj[Lj,Rj](按字典序比较)。
给定 Q 个整数 x1,x2,…,xQ,其中 1≤x1<x2<⋯<xQ≤M。对于每个 1≤i≤Q,请各自求出一个可能的 (Kxi,Lxi,Rxi)。可以证明,满足条件的三元组序列至少存在一个。如果存在多个满足条件的三元组,输出任意一个即可。不同 xi 之间,不要求三元组序列相同。
字典序的定义如下:对于两个字符串 S,T,当且仅当满足以下任一条件时,S≤T(按字典序):
- ∣S∣≤∣T∣ 且 S=T[1,∣S∣]。
- 存在 1≤k≤min(∣S∣,∣T∣),对于所有 1≤i≤k−1,S 和 T 的第 i 个字符相等,且 S 的第 k 个字符在字母表中严格小于 T 的第 k 个字符。
输入格式
输入按以下格式从标准输入给出。
N
S1
S2
⋮
SN
Q
x1 x2 … xQ
输出格式
输出 Q 行。第 i 行输出一个满足条件的 (Kxi,Lxi,Rxi),用空格分隔。若存在多个满足条件的三元组,输出任意一个即可。
输入输出样例
输入#1
2 abab cab 2 5 14
输出#1
1 3 4 2 1 1
输入#2
3 a a ba 2 1 2
输出#2
1 1 1 1 1 1
输入#3
10 gxgpuamkx szhkbpphykin ezplvfja mopodotkrj rimlvumuar nexcfyce eurgvjyos dhvuyfvt nrdyluacvra ggwnpnzij 6 74 268 310 380 455 489
输出#3
3 1 2 4 4 5 4 3 7 9 6 6 6 6 6 2 2 12
说明/提示
数据范围
- 1≤N≤105
- 1≤∣Si∣≤105
- i=1∑N∣Si∣≤105
- 1≤Q≤2×105
- 1≤x1<x2<⋯<xQ≤i=1∑N2∣Si∣(∣Si∣+1)
- N,Q,x1,x2,…,xQ 均为整数
- Si 仅由小写英文字母组成
样例解释 1
M=16,满足条件的三元组序列可以为:(1,1,1),(1,3,3),(2,2,2),(1,1,2),(1,3,4),(2,2,3),(1,1,3),(1,1,4),(1,2,2),(1,4,4),(2,3,3),(1,2,3),(1,2,4),(2,1,1),(2,1,2),(2,1,3)。按此顺序排列时,对应的 SKi[Li,Ri] 为(a, a, a, ab, ab, ab, aba, abab, b, b, b, ba, bab, c, ca, cab)。注意,第 5 个元素 (1,3,4) 与第 4 个或第 6 个元素互换也满足条件,因此 (Kx1,Lx1,Rx1)=(1,1,2),(2,2,3) 也是正确答案。
样例解释 2
M=5,满足条件的三元组序列可以为:(1,1,1),(2,1,1),(3,2,2),(3,1,1),(3,1,2) 或 (2,1,1),(3,2,2),(1,1,1),(3,1,1),(3,1,2)。对于输出的 (Kxi,Lxi,Rxi),不要求所有 xi 对应的三元组来自同一个满足条件的序列。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?