#HK4979. 「POI 2024/2025 R2」Drzewo genealogiczne

「POI 2024/2025 R2」Drzewo genealogiczne

题目描述

题目译自 XXXII Olimpiada Informatyczna – II etap Drzewo genealogiczne

Bajtazar 最近迷上了追溯自己姓氏的起源。在他的家族中,有个独特的传统:父母姓氏为 uu 和 ww 的孩子,姓氏为 uwu w 或 wuw u,由父母自由选择。

Bajtazar 翻遍旧箱子,找到 nn 代前的祖先记录,称这些为原始祖先。令人惊讶的是,当时的姓氏仅为单个小写英文字母。nn 代前有 2n2^n 位祖先,因为每人有两个父母、四个祖父母、八个曾祖父母,以此类推。这些祖先编号为 11 到 2n2^n,其中 11 与 22 配对,33 与 44 配对,每对生一个孩子,孩子编号为 11 到 2n−12^{n-1}(如 11 和 22 的孩子为 11)。此过程逐代重复,直到 Bajtazar 这一代,仅剩他一人。

Bajtazar 的姓氏长度为 2n2^n,但他不清楚其形成过程,因为祖先可自由选择孩子姓氏的字母顺序。他开始怀疑档案记录可能有误,请你帮忙验证。

情况是动态变化的,Bajtazar 会修改档案或自己的姓氏。你的任务是判断初始状态及每次 qq 次事件后,他的姓氏是否可能由档案中的祖先姓氏按规则生成。事件 ii 为以下两种之一:

  1. Bajtazar 将自己姓氏的第 kik_i 位字母改为 bib_i。
  2. 原始祖先 kik_i 的姓氏改为 bib_i(bib_i 为小写字母)。

输入格式

第一行包含两个整数 n,qn, q (1≤n≤20,0≤q≤1000000)(1 \leq n \leq 20, 0 \leq q \leq 1000000),表示代数和事件数。

第二行包含 2n2^n 个小写英文字母,描述 Bajtazar 的姓氏。

第三行包含 2n2^n 个小写英文字母,第 ii 个字母表示原始祖先 ii 的姓氏。

接下来的 qq 行描述事件,第 ii 行包含两个整数 ti,kit_i, k_i 和一个小写字母 bib_i (1≤ti≤2,1≤ki≤2n)(1 \leq t_i \leq 2, 1 \leq k_i \leq 2^n)。若 ti=1t_i=1,表示修改 Bajtazar 姓氏第 kik_i 位为 bib_i;若 ti=2t_i=2,表示修改祖先 kik_i 的姓氏为 bib_i。

输出格式

输出 q+1q+1 行。第一行表示初始状态的答案,接下来的 qq 行按事件顺序表示每次事件后的答案。若 Bajtazar 的当前姓氏可由档案姓氏按规则生成输出 TAK,否则输出 NIE。

2 4
abcd
cadb
1 2 c
2 4 c
1 1 d
1 4 a

NIE
NIE
TAK
NIE
TAK

初始及每次事件后的情况如下:

  1. Bajtazar 姓氏为 abcd,祖先姓氏为 c, a, d, b。不可生成,答案为 NIE。

  2. Bajtazar 姓氏为 accd,祖先姓氏不变。不可生成,答案为 NIE。

  3. Bajtazar 姓氏为 accd,祖先姓氏为 c, a, d, c。可生成,父母姓氏为 ac 和 cd,答案为 TAK。

  4. Bajtazar 姓氏为 dccd,祖先姓氏不变。不可生成,答案为 NIE。

  5. Bajtazar 姓氏为 dcca,祖先姓氏不变。可生成,父母姓氏为 ca 和 dc,答案为 TAK。

附加样例

  1. n=3,q=10n=3, q=10,测试仅含字母 a 和 b。
  2. n=10,q=1000n=10, q=1000,初始 Bajtazar 姓氏为祖先姓氏的镜像,保持每两事件后此性质。
  3. n=20,q=0n=20, q=0,Bajtazar 姓氏全为 a,祖先姓氏全为 b,答案为 NIE。
  4. n=18,q=200000n=18, q=200000,初始两字符串全为 a,每两事件将对应位置改为 b。
  5. n=20,q=1000000n=20, q=1000000,Bajtazar 姓氏由 xyzw 多次重复,祖先姓氏由 yxzw 重复,事件将前者改为 zyxw 重复,后者改为 yzxw 重复,每四事件答案为 TAK,其余为 NIE。

数据范围与提示

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

子任务编号 附加限制 分值
11 n≤4,q=0n \leq 4, q=0 33
22 n≤10,q=0n \leq 10, q=0 1111
33 q=0q=0 1313
44 n≤18,q≤200000n \leq 18, q \leq 200000 4444
55 无附加限制 2929