#P4440. [COCI 2017/2018 #3] Programiranje

    ID: 5172 远端评测题 3000ms 63MiB 尝试: 0 已通过: 0 显示难度普及− 上传者: 标签>2017枚举前缀和COCI(克罗地亚)

[COCI 2017/2018 #3] Programiranje

题目描述

Little Leticija 正在准备编程考试。虽然她已经解决了很多任务,但还有一个任务尚未解决,于是她向你寻求帮助。

有一个单词 SS 和 QQ 次询问。在每次询问中,给出正整数 AA、BB、CC 和 DD。假设单词 XX 由单词 SS 中位置 AA 和 BB 及其之间的字母组成,而单词 YY 由位置 CC 和 DD 及其之间的字母组成。您需要回答是否能以某种方式重新排列单词 YY 中的字母得到单词 XX。

输入格式

第一行输入包含单词 SS(1≤∣S∣≤500001\le\lvert S\rvert\le50000)。∣S∣\lvert S\rvert 表示单词 SS 中的字符数。SS 完全由英文小写字母组成。

第二行输入包含正整数 QQ(1≤Q≤500001\le Q\le50000)。 以下 QQ 行中的每一行包含四个整数 AA、BB、CC 和 DD(1≤A≤B≤∣S∣1\le A\le B\le\lvert S\rvert 且 1≤C≤D≤∣S∣1\le C\le D\le\lvert S\rvert)。

输出格式

对于每次询问,如果可能,输出DA(即克罗地亚语的“是”),如果不可能,则输出NE(克语的“否”)。

kileanimal
2
2 2 7 7
1 4 6 7

DA
NE
abababba
2
3 5 1 3
1 2 7 8

DA
DA

vodevovode
2
5 8 3 6
2 5 3 6

NE
DA

提示

对于 50%50\% 的测试点,有 1≤∣S∣≤10001\le\lvert S\rvert\le1000 且 1≤Q≤10001\le Q\le1000。

对于 100%100\% 的测试点,有 1≤∣S∣≤500001\le\lvert S\rvert\le50000,1≤Q≤500001\le Q\le50000,1≤A≤B≤∣S∣1\le A\le B\le\lvert S\rvert 且 1≤C≤D≤∣S∣1\le C\le D\le\lvert S\rvert。

样例 #3 的解释:在第一次询问中,X=vovoX=\tt vovo,Y=devoY=\tt devo。在第二次询问中,X=odevX=\tt odev,Y=devoY=\tt devo。