trang chủ / đề bài / hp_tst_26_a

Trò chơi xếp hình

Đề bài

Mô tả

Tí có một bộ đồ chơi xếp hình gồm n miếng ghép hình tam giác vuông cân được đánh số thứ tự từ 1 đến n, với độ dài cạnh góc vuông là 1 đơn vị. Mỗi miếng ghép có một màu xác định. Hai miếng ghép cùng màu có thể ghép lại thành một hình vuông với độ dài cạnh là 1 đơn vị.

Tí cần chọn ra một dãy liên tiếp (2×k)+1 (k≥0) miếng ghép trong số n miếng ghép đã cho, trong đó 2×k miếng ghép được dùng để ghép thành k hình vuông. Sau đó, Tí xếp chồng các hình vuông này thành một tòa tháp nhiều tầng, miếng ghép cuối cùng dùng làm mái.

Yêu cầu: Đếm số tầng nhiều nhất có thể của một tòa tháp hợp lệ mà Tí có thể xếp được.

Dữ liệu vào

Dòng đầu tiên chứa số nguyên dương t (1≤t≤100) là số bộ dữ liệu. Tiếp theo là t nhóm dòng, mỗi nhóm dòng mô tả một bộ dữ liệu với cấu trúc:

  • Dòng đầu tiên chứa số nguyên dương n (1≤n≤105) là số lượng tam giác;
  • Dòng thứ hai chứa n số nguyên a1,a2,…,an (1≤ai≤30) với ai là màu của tam giác thứ i (1≤i≤n).

Dữ liệu luôn đảm bảo tổng tất cả các giá trị n trong các bộ dữ liệu không vượt quá 5×105.

Dữ liệu ra

Trên t dòng, dòng thứ i in ra một số nguyên duy nhất là số tầng nhiều nhất của tòa tháp mà Tí xếp được của bộ dữ liệu thứ i (1≤i≤t).

Ràng buộc

  • 1≤t≤100; 1≤n≤105; tổng n không vượt quá 5×105.
  • 1≤ai≤30.

Subtasks

  • Subtask 1 (20% số điểm): n≤200.
  • Subtask 2 (30% số điểm): n≤105, ai≤20.
  • Subtask 3 (50% số điểm): Không có giới hạn gì thêm.

Ví dụ

Input Output Giải thích
4
5
1 4 3 2 1
15
8 8 8 5 7 3 4 2 3 4 3 3 5 6 1
3
2 2 2
3
2 1 2
0
3
1
1
Với bộ dữ liệu thứ 2, Tí chọn dãy liên tiếp [3,4,2,3,4,3,3] và xếp thành tòa tháp 3 tầng (mái là miếng màu 2 ở giữa dãy). Với bộ thứ 1, không có hai miếng nào trong một dãy liên tiếp ghép được, chỉ xếp được tháp 0 tầng (chỉ có mái).
5
1
1
2
5 5
5
1 2 3 2 1
7
4 7 4 7 9 9 1
4
6 6 6 6
0
0
2
3
1
Ví dụ thêm (không có trong đề gốc). Bộ 2: dãy phải có số miếng lẻ nên chỉ chọn được 1 miếng. Bộ 4: chọn cả 7 miếng, mái là miếng màu 1. Bộ 5: chọn 3 miếng màu 6.

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.402 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.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0