Skibidi Dizesi#13091

Skibidi Dizesi

1 saniye
256 megabayt

Bir dizesi için, ile dizesinin farklı ve boş olmayan alt dizelerinin sayısını gösterelim. Örneğin, f(\mathtt{aab}) = 5: alt dizeler , , , , şeklindedir.

Size bir tam sayısı ve t_1, \ldots, t_{n-2} şeklinde indislenen, uzunluğu n-2 olan bir ikilik dizesi veriliyor.

Uzunluğu olan bir dizesine, üzerinde uzunluğu olan bir pencere kaydırıldığında n-2 pencere elde ediliyorsa ve her 1 \le i \le n-2 için -inci pencere t_i koşulunu sağlıyorsa Skibidi diyoruz:

f\!\left(s_i s_{i+1} s_{i+2}\right) \bmod 2 = t_i.

Küçük Latin harflerinden oluşan sözlük sırasına göre en küçük Skibidi dizesi 'yi belirleyin.

^\daggerMod alma işlemi. Pozitif tam sayılar ve için, u \bmod v ifadesi 'nun 'ye bölümünden kalanı gösterir.

Örneğin, s = \mathtt{aabcba} için önemli ! : mutlaka O(3^6*n) dp ile çözülmeli

\big(f(\mathtt{aab}) \bmod 2,\ f(\mathtt{abc}) \bmod 2,\ f(\mathtt{bcb}) \bmod 2,\ f(\mathtt{cba}) \bmod 2\big) = (1, 0, 1, 0),

elde edilir, yani t = \mathtt{1010}, başka bir deyişle t_1=1,\ t_2=0,\ t_3=1,\ t_4=0.

Giriş

İlk satırda tek bir tam sayı (1 \le T \le 10^4) — test durumlarının sayısı verilir.

Her test durumunun ilk satırında bir tam sayı (3 \le n \le 2 \cdot 10^5) — aranan dizenin uzunluğu verilir.

Her test durumunun ikinci satırında uzunluğu n-2 olan bir ikilik dizesi (t_i \in \{\mathtt{0}, \mathtt{1}\}) verilir.

Tüm test durumları üzerinden değerlerinin toplamının 2 \cdot 10^5'i aşmadığı garanti edilir.

Çıktı

Her test durumu için, koşulları sağlayan ve küçük Latin harflerinden oluşan, sözlük sırasına göre en küçük dizesini yazdırın.

Örnekler

Örnek 1

Loading
Loading

Not

Birinci test durumu için, s = \mathtt{aabcba}:

  • i = 1: dizesinin f = 5 farklı boş olmayan alt dizesi vardır, dolayısıyla f \bmod 2 = 1.

  • i = 2: dizesinin f = 6 farklı boş olmayan alt dizesi vardır, dolayısıyla f \bmod 2 = 0.

  • i = 3: dizesinin f = 5 farklı boş olmayan alt dizesi vardır, dolayısıyla f \bmod 2 = 1.

  • i = 4: dizesinin f = 6 farklı boş olmayan alt dizesi vardır, dolayısıyla f \bmod 2 = 0.

Bu nedenle elde edilen , istendiği gibi olur.

İkinci test durumu için, s = \mathtt{abcbaa}:

  • i = 1: dizesinin f = 6 farklı boş olmayan alt dizesi vardır, dolayısıyla f \bmod 2 = 0.

  • i = 2: dizesinin f = 5 farklı boş olmayan alt dizesi vardır, dolayısıyla f \bmod 2 = 1.

  • i = 3: dizesinin f = 6 farklı boş olmayan alt dizesi vardır, dolayısıyla f \bmod 2 = 0.

  • i = 4: dizesinin f = 5 farklı boş olmayan alt dizesi vardır, dolayısıyla f \bmod 2 = 1.

Bu nedenle elde edilen , istendiği gibi olur.

Üçüncü test durumu için, s = \mathtt{aaabcaa}:

  • i = 1: dizesinin f = 3 farklı boş olmayan alt dizesi vardır, dolayısıyla f \bmod 2 = 1.

  • i = 2: dizesinin f = 5 farklı boş olmayan alt dizesi vardır, dolayısıyla f \bmod 2 = 1.

  • i = 3: dizesinin f = 6 farklı boş olmayan alt dizesi vardır, dolayısıyla f \bmod 2 = 0.

  • i = 4: dizesinin f = 6 farklı boş olmayan alt dizesi vardır, dolayısıyla f \bmod 2 = 0.

  • i = 5: dizesinin f = 5 farklı boş olmayan alt dizesi vardır, dolayısıyla f \bmod 2 = 1.

Bu nedenle elde edilen , istendiği gibi olur.

Puanlama

  1. Alt görev ( puan): (t=\mathtt{00000 \ldots 0})

  2. Alt görev ( puan): (t=\mathtt{11111\ldots 1})

  3. Alt görev ( puan): (1 \le \sum n \le 1000)

  4. Alt görev ( puan): (1 \le \sum n \le 10^4)

  5. Alt görev ( puan): Ek kısıtlama yoktur