P10646 [NordicOI 2023] ChatNOI
题目背景
翻译自 [NordicOI 2023 A 题](https://noi23.kattis.com/contests/noi23/problems/chatnoi) ChatNOI。
题目描述
你正在和你的机器人玩一个对话游戏,规则是这样的:
首先给定一个包含了 $n$ 个字符串的仅含小写字符串组 $w$ 和一个数字 $k$。
定义一个字符串组的质量为其每个长度为 $k+1$ 的连续段的在 $w$ 中出现的次数的最小值。
有 $q$ 次询问,每次给定 $m_i$ 与 $k$ 个字符串。
你需要构造 $m_i$ 个字符串,使得在给出的 $k$ 个字符串后依次加入构造的 $m_i$ 个字符串形成的字符串组质量最大。
若有多解,只需输出任意一个。
输入格式
第一行一个整数 $n(1 \leq n \leq 5 \times 10^5)$ 和 $k (1 \leq k < n)$。
第二行一句包含 $n$ 个单词的句子 $w_i( 1\leq|w_i|
\leq10)$。
第三行一个整数 $q(1 \leq q \leq 5 \times 10^5)$,表示一共有 $q$ 次询问。
然后 $q$ 行,每行一个数 $m_i$ 和长度为 $k$ 的 $s$ 的子字符串。
输出格式
你需要对于每个询问,输出 $k$ 之后的 $m_i$ 个单词。
说明/提示
**本题采用捆绑测试**。
令 $M = \sum m_i$。
- Subtask 1(5 points):$k < n \leq 100$,$k = 1$,$1 \leq q \leq 100$,$m_i = 1$。
- Subtask 2(7 points):$k < n \leq 5 \times 10^5$,$1 \leq k \leq 10$,$1 \leq q \leq 100$,$m_i = 1$。
- Subtask 3(17 points):$k < n \leq 6$,$1 \leq k \leq 10$,$1 \leq q \leq 10$,$1 \leq m_i \leq 6$。
- Subtask 4(18 points):$k < n \leq 5000$,$1 \leq k \leq10$,$1 \leq q \leq 5000$,$q \leq M \leq 5000$。
- Subtask 5(24 points):$k < n \leq 5 \times 10^5$,$1 \leq k \leq 10$,$1 \leq q \leq 10$,$q \leq M \leq 5 \times 10^5$。
- Subtask 6(16 points):$k < n \leq 10^5$,$1 \leq k \leq10$,$1 \leq q \leq 10^5$,$q \leq M \leq 5 \times 10^5$。
- Subtask 7(13 points):无特殊限制。
对于所有测试数据,$k < n \leq 5 \times 10^5$,$1 \leq k \leq 10$,$1 \leq q \leq 10^5$,$q \leq M \leq 5 \times 10^5$。