trang chủ / bài tập / epictrans

Phép biến đổi vĩ đại

Đề bài

Mô tả

Cho một mảng a gồm n số nguyên. Bạn được phép thực hiện thao tác sau không hoặc nhiều lần:

  • Chọn hai vị trí ij sao cho aiaj (hai giá trị phải khác nhau);
  • Xoá đồng thời phần tử thứ i và phần tử thứ j khỏi mảng.

Sau mỗi thao tác, mảng ngắn đi 2 phần tử và các phần tử còn lại giữ nguyên thứ tự tương đối.

Hãy tìm kích thước nhỏ nhất của mảng sau khi thực hiện một dãy thao tác tuỳ ý.

Ví dụ với n=6a=[1,6,1,1,4,4], ta có thể:

  • Chọn i=1,j=5 (giá trị 14), mảng trở thành [6,1,1,4];
  • Chọn i=1,j=2 (giá trị 61), mảng trở thành [1,4];
  • Chọn i=1,j=2 (giá trị 14), mảng trở thành rỗng.

Dữ liệu vào

  • Dòng đầu chứa số nguyên t là số bộ dữ liệu.
  • Mỗi bộ dữ liệu gồm hai dòng:
    • Dòng thứ nhất chứa số nguyên n là độ dài mảng a.
    • Dòng thứ hai chứa n số nguyên a1,a2,,an.

Dữ liệu ra

Với mỗi bộ dữ liệu, in ra trên một dòng kích thước nhỏ nhất có thể của mảng sau khi thực hiện các thao tác.

Ràng buộc

  • 1t104
  • 1n2·105
  • 1ai109
  • Tổng n trên tất cả các bộ dữ liệu không vượt quá 2·105.

Ví dụ

Input Output Giải thích
5
6
1 6 1 1 4 4
2
1 2
2
1 1
5
4 5 4 5 4
6
2 3 2 1 3 1
0
0
2
1
0
Bộ 1: xoá hết như mô tả ở trên. Bộ 2: hai giá trị khác nhau, xoá cả hai. Bộ 3: cả hai phần tử bằng nhau nên không có thao tác nào hợp lệ, giữ nguyên 2 phần tử. Bộ 4: giá trị 4 xuất hiện 3 lần, giá trị 5 xuất hiện 2 lần; ghép hết 5 với 4 thì còn lại một số 4. Bộ 5: mỗi giá trị 1,2,3 xuất hiện 2 lần nên ghép hết được.
1
12
2 2 2 2 4 4 4 4 6 6 6 6
0 Ba giá trị 2,4,6 mỗi giá trị xuất hiện 4 lần. Không giá trị nào chiếm quá nửa mảng, và n chẵn nên xoá được toàn bộ.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.400 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.2 gforth 0.7.3 gfortran 12.2.0 go 1.27.0 groovyc 5.1.1 javac 25.0.4 node 26.8.1 julia 1.12.7 kotlinc 2.4.10 lean 4.33.1 sbcl 2.2.9 lua 5.4.9 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.10 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.14.7 racket 8.7 ruby 4.0.6 rustc 1.98.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.3.3 tclsh 8.6 bun 1.4.0 deno 2.9.6 v 0.5.2 zig 0.16.0