[Buổi 25][Trie & Chiến lược xử lý xâu][HW] Bài 3: Thẻ từ giống nhau nhất


LÀM BÀI

Points: 100
Time limit: 2.0s
Memory limit: 256M

Author:
Problem types

Thẻ từ giống nhau nhất

Bối cảnh và bài toán

Một trò chơi ghép thẻ so sánh các từ từ trái sang phải. Với mỗi thẻ, người tổ chức muốn biết độ dài tiền tố chung dài nhất mà nó có thể chia sẻ với ít nhất một thẻ khác trong bộ.

Yêu cầu

Cho N chuỗi. Với mỗi S_i, in max_{j != i} LCP(S_i, S_j).

Input

Dòng đầu chứa N, sau đó là N dòng chứa các chuỗi S_i.

Output

In N dòng; dòng i là LCP lớn nhất của S_i với một chuỗi khác.

Ràng buộc

  • 2 <= N <= 5 * 10^5
  • Tổng độ dài các chuỗi không vượt 5 * 10^5.
  • Chuỗi chỉ gồm chữ cái thường.

Chấm điểm

Subtask Điểm Điều kiện Official tests
S1 20% N <= 50; tổng độ dài <= 1000 01–04
S2 30% Tổng độ dài <= 5 * 10^4 05–10
S3 50% Không có ràng buộc bổ sung 11–20

Ví dụ 1

Input

3
abc
abb
aac

Output

2
2
1

Giải thích. abc và abb có LCP bằng 2; aac chỉ chia sẻ ký tự đầu a.

Ví dụ 2

Input

4
a
ab
abc
z

Output

1
2
2
0

Giải thích. Mỗi từ trong nhánh a có thể chia sẻ prefix với từ khác; z không chia sẻ ký tự đầu với ai.

Thông tin bài tập

Thuộc tính Giá trị
Mã bài DSA-M08-B25-HW03
Buổi B25
Loại bài HOMEWORK
Mức độ khó Trung bình (Medium)
Thời gian làm bài khuyến nghị 45 phút
Time limit 2 giây
Memory limit 256 MB
Tổng điểm 100
Chuẩn ngôn ngữ tham chiếu C++11 trở lên

Nguồn: Phỏng theo / Adapted from: AtCoder Beginner Contest 287 – E – Karuta.


Comments

There are no comments at the moment.

Zalo