QOJ.ac

QOJ

Límite de tiempo: 2.0 s Límite de memoria: 256 MB Puntuación total: 100 Hackeable ✓

#17743. Multizbiory

Estadísticas

Busy Beaver lubi zadania na struktury danych, ale uważa, że zadania na tablicach z zapytaniami przedziałowymi są nudne. Wymyślił więc inny rodzaj zadania na struktury danych, tym razem z multizbiorami!

Mamy ciąg $a_1, \dots, a_L$, gdzie każdy $a_i$ jest multizbiorem dodatnich liczb całkowitych. Początkowo ciąg jest pusty, tzn. $L=0$. Zaimplementuj następujące operacje:

  • 1 M K: Dodaj na koniec ciągu multizbiór składający się wyłącznie z liczby $M$ występującej $K$ razy.
  • 2 X Y: Dodaj na koniec ciągu sumę $a_X$ oraz $a_Y$. Liczba wystąpień każdej wartości sumuje się; na przykład sumę multizbiorów $\{1, 1, 2\}$ oraz $\{1, 2\}$ definiujemy jako $\{1, 1, 1, 2, 2\}$.
  • 3 X M K: Dodaj na koniec ciągu $f(a_X,M,K)$, gdzie $f(S,M,K)$ powstaje poprzez usunięcie $K$ kopii liczby $M$ ze zbioru $S$, jeśli $S$ zawiera co najmniej $K$ kopii $M$, lub dodanie $K$ kopii liczby $M$ do $S$, jeśli $S$ zawiera ściśle mniej niż $K$ kopii $M$.
  • 4 X: Gwarantuje się, że $a_X$ składa się z dokładnie jednego elementu. Wypisz ten pojedynczy element zbioru $a_X$.

Wejście

Pierwsza linia wejścia zawiera jedną liczbę całkowitą $Q$ ($1 \le Q \le 5 \cdot 10^5$), oznaczającą liczbę operacji.

Kolejne $Q$ linii zawiera po jednej operacji.

Gwarantuje się, że:

  • Indeksy $X$ oraz $Y$ użyte w operacjach $2$, $3$ oraz $4$ zawsze mieszczą się w zakresie istniejącego ciągu w momencie wykonywania operacji.
  • Wartości $M$ oraz $K$ użyte w operacjach $1$ oraz $3$ spełniają $1 \le M,K \le 10^9$.
  • Dla wszystkich operacji typu $4$, $a_X$ zawiera dokładnie jeden element.

Wyjście

Dla każdej operacji typu $4$ wypisz w osobnej linii wynik.

Podzadania

  • ($10$ punktów) $1 \le M \le 10$ dla wszystkich operacji typu $1$ oraz $3$.
  • ($40$ punktów) Gwarantuje się, że w każdej operacji typu $3$ nowo dodawany multizbiór powstaje poprzez usunięcie $K$ kopii liczby $M$ z $a_X$.
  • ($50$ punktów) Brak dodatkowych ograniczeń.

Przykład

Przykład 1

Wejście 1

8
1 5 1
1 6 2
4 1
2 1 2
3 3 6 4
3 4 6 5
3 5 5 1
4 6

Wyjście 1

5
6

Uwagi

Multizbiory wyglądają następująco:

  • $a_1 = \{5\}$.
  • $a_2 = \{6, 6\}$.
  • $a_3 = \{5, 6, 6\}$.
  • $a_4 = \{5, 6, 6, 6, 6, 6, 6\}$.
  • $a_5 = \{5, 6\}$.
  • $a_6 = \{6\}$.

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.