QOJ.ac

QOJ

시간 제한: 2 s 메모리 제한: 512 MB 총점: 100 해킹 가능 ✓

#21426. Kekayaan untuk Tiga Kehidupan

통계

Latar Belakang

“Anak baik, jika kuberikan kekayaan untuk tiga kehidupan, maukah kamu belajar?”

Hari ini, 玛德琳 dan 坏德琳 mendatangi sebuah mesin yang fantastis. Di dalam mesin tersebut terdapat bola dengan empat warna, masing-masing dengan kegunaannya sendiri. Bola biru adalah bola paling dasar: ketika kamu memantul darinya, kamu memperoleh kemampuan melakukan satu kali dash. Bola merah muda adalah versi yang lebih kuat: ketika kamu memantul darinya, kamu memperoleh dua kali dash. Memantul dari bola putih tidak memberikan dash. Setelah dipantuli sekali, bola kuning akan menumbuhkan duri, dan setelah itu kamu tidak boleh menyentuhnya lagi.

Level di dalamnya dapat dideskripsikan dengan sebuah urutan warna. 玛德琳 dan 坏德琳 sudah bermain di dalamnya cukup lama, tetapi belum berhasil melewati level pertama. 玛德琳 pun menangis karena frustrasi! Ia memutuskan untuk berbuat curang menggunakan alat pengubah! Alat ini sangat khusus: hanya bola putih dan kuning yang dapat diubah, dan hanya dapat diubah menjadi bola biru dan merah muda. Selain itu, posisi bola yang diubah pada setiap kesempatan sudah ditentukan. Ketika 坏德琳 mengetahui hal ini, ia memutuskan untuk menghentikan kecurangan 玛德琳, sehingga ia meretas alat tersebut dan memperoleh wewenang untuk mengubah warna bola kuning. Sementara itu, 玛德琳 menganggap bahwa deretan bola yang sama akan membuat sebuah level lebih mudah. Ia mendefinisikan tingkat kemudahan suatu level sebagai panjang maksimum segmen dengan warna yang sama. 玛德琳 ingin memaksimalkan nilai ini, sedangkan 坏德琳 ingin meminimalkannya.

Deskripsi Soal

Alice dan Bob memainkan sebuah permainan pada barisan dengan panjang $n$. Nilai setiap elemen barisan hanya dapat berupa $0$ atau $1$, dan waktu penentuan nilai setiap elemen sudah ditetapkan sebelum permainan dimulai.

Diberikan barisan $p$ dan $a$ dengan panjang $n$, dengan $p$ merupakan permutasi dari $1\dots n$, dan $a_i\in\{-2,-1,0,1\}$.

Nilai elemen ke-$i$ pada barisan ditentukan pada waktu ke-$p_i$, dengan aturan berikut:

  • Jika $a_i=0$, elemen tersebut diberi nilai $0$;
  • Jika $a_i=1$, elemen tersebut diberi nilai $1$;
  • Jika $a_i=-1$, nilai elemen tersebut ditentukan oleh Alice pada waktu tersebut;
  • Jika $a_i=-2$, nilai elemen tersebut ditentukan oleh Bob pada waktu tersebut.

Sebelum permainan dimulai, Alice dan Bob sama-sama mengetahui barisan $p$ dan barisan $a$. Permainan berlangsung selama $n$ langkah waktu. Pada waktu ke-$k$, nilai yang ditentukan adalah nilai pada posisi $i$ yang memenuhi $p_i=k$; setelah $n$ langkah waktu selesai, nilai setiap elemen barisan telah ditentukan tepat satu kali.

Segmen berurutan dengan warna yang sama didefinisikan sebagai pasangan $(l,r)$ yang memenuhi $l\le r$, dengan semua elemen dari elemen ke-$l$ sampai elemen ke-$r$ memiliki nilai yang sama. Jika segmen tersebut tidak dapat diperpanjang ke kiri maupun ke kanan (yaitu $l=1$ atau elemen ke-$l-1$ berbeda dari elemen-elemen tersebut, dan $r=n$ atau elemen ke-$r+1$ berbeda dari elemen-elemen tersebut), segmen itu disebut segmen berurutan sewarna yang maksimal. Panjang $(l,r)$ adalah $r-l+1$.

Alice ingin memaksimalkan panjang maksimum di antara semua segmen berurutan sewarna yang maksimal pada barisan setelah waktu ke-$n$, sedangkan Bob ingin meminimalkan nilai tersebut.

Diberikan bilangan bulat positif $typ \in \{1,2\}$.

Jika $typ=1$, kedua pemain bertindak dengan strategi optimal. Tentukan panjang maksimum segmen berurutan sewarna yang maksimal pada barisan akhir. Dapat dibuktikan bahwa jawabannya pasti.

Jika $typ=2$, diberikan pula barisan $A$ dengan panjang $n$. $A_i \in \{0,1\}$ menyatakan bahwa keputusan pada waktu ke-$i$ dalam permainan adalah sebagai berikut: misalkan $x$ adalah satu-satunya bilangan bulat positif di antara $1,2,\dots,n$ yang memenuhi $p_x=i$, maka elemen ke-$x$ pada barisan diberi nilai $A_i$ (sinar kosmik mungkin mengenai posisi ke-$x$, sehingga dapat terjadi $a_x,A_i \in \{0,1\}$ dan $a_x \neq A_i$). Untuk setiap $i=0,1,\dots,n$, tentukan panjang $ans_i$ dari segmen berurutan sewarna terpanjang pada barisan akhir apabila permainan mengikuti keputusan dalam barisan $A$ sampai dengan waktu ke-$i$, dan kedua pemain bertindak dengan strategi optimal setelah waktu ke-$i$ selesai.

Masukan

Soal ini mewajibkan pemrosesan secara online

Baris pertama berisi sebuah bilangan bulat positif $T$, yang menyatakan banyaknya kasus uji.

Selanjutnya terdapat $T$ kasus uji. Pada setiap kasus uji:

Baris pertama berisi dua bilangan bulat positif $n$ dan $typ$.

Baris kedua berisi $n$ bilangan bulat $p_1,p_2,\dots,p_n$.

Baris ketiga berisi $n$ bilangan bulat $a_1,a_2,\dots,a_n$.

Jika $typ=2$, baris keempat berisi $n$ bilangan bulat $A'_1,A'_2,\dots,A'_n$.

Nilai $A_i$ yang sebenarnya adalah hasil operasi XOR bitwise antara $A'_i$ dan $ans_{i-1}$, kemudian diambil modulo $2$.

Keluaran

Untuk setiap kasus uji:

Jika $typ=1$, keluarkan satu baris berisi sebuah bilangan bulat yang menyatakan panjang segmen berurutan sewarna terpanjang pada barisan akhir ketika kedua pemain bertindak dengan strategi optimal.

Jika $typ=2$, keluarkan satu baris berisi $n+1$ bilangan bulat yang menyatakan, untuk setiap $i=0,1,\dots,n$, panjang segmen berurutan sewarna terpanjang pada barisan akhir apabila permainan mengikuti keputusan dalam barisan $A$ sampai dengan waktu ke-$i$, dan kedua pemain bertindak dengan strategi optimal setelah waktu ke-$i$ selesai.

Contoh

Masukan 1

1
3 1
3 1 2
-1 -2 -1

Keluaran 1

3

Catatan

$p=[3,1,2]$ berarti $p_1=3,\ p_2=1,\ p_3=2$: elemen ke-$1$ ditentukan pada waktu ke-$3$, elemen ke-$2$ ditentukan pada waktu ke-$1$, dan elemen ke-$3$ ditentukan pada waktu ke-$2$. Jadi, urutan waktunya adalah:

  • Waktu $1$: menentukan elemen ke-$2$ ($a_2=-2$, ditentukan oleh Bob);
  • Waktu $2$: menentukan elemen ke-$3$ ($a_3=-1$, ditentukan oleh Alice);
  • Waktu $3$: menentukan elemen ke-$1$ ($a_1=-1$, ditentukan oleh Alice).

Alice ingin agar segmen sewarna terpanjang menjadi sepanjang mungkin, sedangkan Bob ingin agar segmen tersebut sependek mungkin. Meskipun Bob mendapat giliran pertama, ia hanya mengendalikan elemen ke-$2$ yang berada tepat di tengah; Alice mengendalikan kedua elemen ujung, yaitu elemen ke-$1$ dan ke-$3$.

Setelah Bob menetapkan elemen ke-$2$ menjadi $0$, Alice dapat menetapkan elemen ke-$1$ dan ke-$3$ menjadi $0$ juga, sehingga barisan akhirnya adalah 0 0 0 dan panjang segmen sewarna terpanjangnya adalah $3$. Jika Bob menetapkan elemen ke-$2$ menjadi $1$, Alice juga memilih $1$ untuk keduanya, sehingga barisan akhirnya adalah 1 1 1 dan panjang segmen sewarna terpanjangnya tetap $3$.

Kedua pilihan Bob menghasilkan hasil yang sama persis, sehingga ia tidak dapat menekan jawaban menjadi kurang dari $3$. Sementara itu, paling jauh Alice hanya dapat membuat seluruh barisan memiliki warna yang sama, jadi jawabannya adalah $3$.

Masukan 2

1
2 1
2 1
-1 -1

Keluaran 2

2

Catatan

$p=[2,1]$ berarti $p_1=2,\ p_2=1$: elemen ke-$1$ ditentukan pada waktu ke-$2$, dan elemen ke-$2$ ditentukan pada waktu ke-$1$. Nilai $a$ kedua elemen adalah $-1$, sehingga keduanya ditentukan oleh Alice:

  • Waktu $1$: menentukan elemen ke-$2$ ($a_2=-1$, ditentukan oleh Alice);
  • Waktu $2$: menentukan elemen ke-$1$ ($a_1=-1$, ditentukan oleh Alice).

Alice ingin memaksimalkan panjang segmen sewarna terpanjang. Karena ia menentukan kedua elemen, ia cukup memberikan nilai yang sama kepada keduanya untuk mendapatkan 0 0 atau 1 1. Dalam hal ini, $(1,2)$ merupakan segmen berurutan sewarna yang maksimal dengan panjang $2$. Karena panjang seluruh barisan hanya $2$, ini juga merupakan hasil terbaik yang dapat ia capai.

Masukan 3

3
2 1
1 2
-1 -2
4 2
1 3 2 4
-1 0 -2 -1
1 0 0 1
3 1
3 1 2
0 0 1

Keluaran 3

1
2 2 3 2 2
2

Batasan

Dependensi antarsubsoal yang sesuai diberlakukan pada soal ini.

Untuk semua data, dijamin bahwa:

  • $1 \leq T \leq 2 \times 10^5$, $1\le n\le 2\times 10^5$, $1 \le typ \le 2$, $1 \leq \sum n \leq 2 \times 10^5$.

  • $p$ merupakan permutasi dari $1\dots n$.

  • $a_i\in\{-2,-1,0,1\}$.

  • $A_i\in\{0,1\}$.

Nomor Subsoal $T \leq$ $n \leq$ $typ=$ $\sum n \leq$ Sifat Khusus Nilai
$1$ $2 \times 10^5$ $2 \times 10^5$ $1$ $2 \times 10^5$ A $3$
$2$ $40$ $20$ $2$ $40$ Tidak ada $9$
$3$ $200$ $200$ $1$ $200$ $10$
$4$ $2$ $8$
$5$ $2000$ $1000$ $1$ $2000$ $8$
$6$ $2 \times 10^5$ $2 \times 10^5$ $2 \times 10^5$ B $14$
$7$ $2$ $11$
$8$ $1$ Tidak ada $17$
$9$ $2$ $20$

Sifat Khusus A: Dijamin bahwa $a_i\in\{0,1\}$.

Sifat Khusus B: Dijamin bahwa $p$ dan $a$ dibangkitkan secara acak dari barisan dengan panjang $n$ yang memenuhi batasan.

Perhatikan: Subsoal $3,4,5,8,9$ bergantung pada subsoal $2$.

Editorials

IDTypeStatusTitlePosted ByLast UpdatedActions
EditorialOpen Official EditorialQingyu- Download
#3111EditorialOpen$O(n)$ Solution by 不是佛学工作者UrdView

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.