#P12768. [POI 2018 R3] 三人编程锦标赛 Triinformathlon

[POI 2018 R3] 三人编程锦标赛 Triinformathlon

题目背景

翻译来自于 LibreOJ

题目描述

题目译自 XXV Olimpiada Informatyczna — III etap Turniej trójinformatyczny

请注意本题的空间限制。

拜托尼亚的程序员深受国民敬仰。因此,近年来的电视节目《三人编程锦标赛》收视率屡创新高。本届锦标赛有 nn 名选手(编号 11nn),他们角逐三项编程赛事(分别是限时实现后缀树、调试 SIO2 系统和解决图灵测试)。每项赛事均公布完整排名,明确每位选手的名次,且无并列情况。

每位拜托尼亚居民都支持某位选手,他们热衷于无休止的争论——尤其在社交媒体上——讨论某选手是否比另一位更优秀。三项赛事使得「更优秀」的定义颇为模糊,增添了讨论的火药味。

Bajtazar 希望满足居民的期待,开发一款应用,快速比较锦标赛选手的成绩。他引入了以下关系:

若满足以下至少一项,选手 aa 在道德上优于选手 bb

  • 在三项赛事中至少两项,选手 aa 的名次优于 bb
  • 存在选手 cc,使得 aa 在道德上优于 cc,且 cc 在道德上优于 bb

Bajtazar 的创业公司近期订单繁忙,比较选手的算法任务全权委托给你。编写程序,根据三项赛事的选手排名,回答 mm 个查询:「选手 aa 是否在道德上优于选手 bb?」

输入格式

第一行包含一个整数 nn (n2)(n \geq 2),表示锦标赛选手数量。

第二行包含 nn 个互不相同的整数,范围 [1,n][1, n],表示第一项赛事中各选手的名次。

第三行和第四行类似,分别表示第二项和第三项赛事的排名,格式相同。

第五行包含一个整数 mm (m1)(m \geq 1),表示查询数量。

接下来的 mm 行描述查询,第 ii 行包含两个整数 ai,bia_i, b_i (1ai,bin,aibi)(1 \leq a_i, b_i \leq n, a_i \neq b_i),表示查询「选手 aia_i 是否在道德上优于选手 bib_i?」。

输出格式

输出 mm 行,第 ii 行包含一个字符串 TAKNIE,表示第 ii 个查询的答案。

5
1 2 4 3 5
2 3 5 1 4
3 1 5 2 4
4
2 4
4 2
1 5
5 1
TAK
TAK
TAK
NIE

提示

样例 1 解释

选手 22 在道德上优于选手 44,因其在第一和第三项赛事中名次优于 44

反之,选手 44 也在道德上优于选手 22,因 44 在第二和第三项赛事中优于选手 11,而 11 在第一和第二项赛事中优于 22

选手 11 在道德上优于选手 55,因其在所有赛事中名次均优于 55

选手 55 未在道德上优于选手 11,因仅在至少两项赛事中优于选手 33,但 33 未在任何两项赛事中优于其他选手。

附加样例

  1. n=10,m=90n=10, m=90,所有排名随机,查询覆盖所有可能。
  2. n=1000,m=1000n=1000, m=1000,三项赛事排名相同,查询随机。
  3. n=100000,m=10n=100000, m=10,第一项赛事排名 1,2,,n1,2,\ldots,n,第二项排名 n,n1,,1n,n-1,\ldots,1,第三项排名随机,查询 1010 个,随机生成。

详细子任务附加限制及分值如下表所示。

子任务 附加限制 分值
11 n,m100n, m \leq 100 99
22 n300,m100000n \leq 300, m \leq 100000 1010
33 n1000,m1000000n \leq 1000, m \leq 1000000 1818
44 n100000,m10n \leq 100000, m \leq 10 2727
55 n500000,m1000000n \leq 500000, m \leq 1000000 3636