QOJ.ac

QOJ

実行時間制限: 2.0 s メモリ制限: 256 MB 満点: 100 ハック可能 ✓

#17743. Đa tập hợp

統計

Busy Beaver thích các bài toán về cấu trúc dữ liệu, nhưng cậu ấy nghĩ rằng các bài toán cấu trúc dữ liệu trên mảng với truy vấn đoạn là nhàm chán. Vì vậy, cậu ấy đã nghĩ ra một loại bài toán cấu trúc dữ liệu khác, với đa tập hợp (multiset)!

Cho một dãy $a_1, \dots, a_L$, trong đó mỗi $a_i$ là một đa tập hợp các số nguyên dương. Ban đầu, dãy rỗng, tức là $L=0$. Hãy thực hiện các thao tác sau:

  • 1 M K: Thêm một đa tập hợp chỉ gồm số $M$ xuất hiện $K$ lần vào cuối dãy.
  • 2 X Y: Thêm tổng của $a_X$ và $a_Y$ vào cuối dãy. Số lần xuất hiện của mỗi giá trị sẽ được cộng dồn; ví dụ, tổng của các đa tập hợp $\{1, 1, 2\}$ và $\{1, 2\}$ được định nghĩa là $\{1, 1, 1, 2, 2\}$.
  • 3 X M K: Thêm $f(a_X,M,K)$ vào cuối dãy, trong đó $f(S,M,K)$ được tạo ra bằng cách loại bỏ $K$ bản sao của $M$ khỏi $S$ nếu $S$ có ít nhất $K$ bản sao của $M$, hoặc thêm $K$ bản sao của $M$ vào $S$ nếu $S$ có ít hơn $K$ bản sao của $M$.
  • 4 X: Đảm bảo rằng $a_X$ chỉ chứa một phần tử duy nhất. Hãy in ra phần tử duy nhất này của $a_X$.

Dữ liệu vào

Dòng đầu tiên chứa một số nguyên $Q$ ($1 \le Q \le 5 \cdot 10^5$), là số lượng thao tác.

$Q$ dòng tiếp theo, mỗi dòng chứa một thao tác.

Đảm bảo rằng:

  • Các chỉ số $X$ và $Y$ được sử dụng trong các thao tác $2$, $3$, và $4$ luôn nằm trong phạm vi của dãy tại thời điểm thực hiện thao tác.
  • Các giá trị $M$ và $K$ được sử dụng trong thao tác $1$ và $3$ thỏa mãn $1 \le M,K \le 10^9$.
  • Đối với tất cả các thao tác loại $4$, $a_X$ chứa chính xác một phần tử.

Dữ liệu ra

Với mỗi thao tác loại $4$, in ra một dòng chứa kết quả.

Nhiệm vụ con

  • ($10$ điểm) $1 \le M \le 10$ cho tất cả các thao tác loại $1$ và $3$.
  • ($40$ điểm) Đảm bảo rằng trong mỗi thao tác loại $3$, đa tập hợp mới được thêm vào được tạo ra bằng cách loại bỏ $K$ bản sao của $M$ khỏi $a_X$.
  • ($50$ điểm) Không có ràng buộc bổ sung.

Ví dụ

Dữ liệu vào Dữ liệu ra
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
5
6

Ghi chú

Các đa tập hợp như sau:

  • $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.