[Buổi 25][Trie & Chiến lược xử lý xâu][ADV] Bài 1: Tổng độ tương đồng tiền tố


LÀM BÀI

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

Author:
Problem types

Tổng độ tương đồng tiền tố

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

Một hệ thống phân nhóm từ khóa đánh giá độ gần nhau của hai từ bằng số ký tự đầu liên tiếp giống nhau. Để ước lượng độ "tụ cụm" của toàn bộ kho từ khóa, cần tính tổng độ dài tiền tố chung dài nhất trên mọi cặp khác nhau.

Yêu cầu

Tính sum LCP(S_i, S_j) trên mọi cặp 1 <= i < j <= N.

Input

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

Output

In một số nguyên 64-bit là tổng cần tìm.

Ràng buộc

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

Chấm điểm

Subtask Điểm Điều kiện Official tests
S1 20% N <= 100; tổng độ dài <= 2000 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
ab
abc
arc

Output

4

Giải thích. LCP lần lượt là 2, 1, 1 nên tổng bằng 4.

Ví dụ 2

Input

4
a
aa
aaa
b

Output

4

Giải thích. Ba cặp trong nhánh a có LCP 1,1,2; các cặp với b có LCP 0.

Thông tin bài tập

Thuộc tính Giá trị
Mã bài DSA-M08-B25-ADV01
Buổi B25
Loại bài ADVANCED
Mức độ khó Khó (Hard)
Thời gian làm bài khuyến nghị 70 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 353 – E – Yet Another Sigma Problem.


Comments

There are no comments at the moment.

Zalo