Tổng đếm xâu con
Đề bài
Mô tả
Cho xâu chỉ gồm các chữ cái Latin thường. Với mỗi cặp thỏa mãn , ta gọi là xâu con của bắt đầu ở vị trí và kết thúc ở vị trí (bao gồm hai đầu).
Với hai xâu và , định nghĩa hàm như sau: tìm danh sách tất cả các cặp sao cho , sắp xếp danh sách theo tăng dần. Giá trị của bằng số dãy con liên tiếp khác rỗng của danh sách này.
Ví dụ, với babbabbababbab và babb, danh sách các cặp là , có dãy con liên tiếp khác rỗng nên .
Nhiệm vụ của bạn: với xâu cho trước, hãy tính tổng trên tất cả các xâu thuộc tập các xâu con của (mỗi xâu con phân biệt được tính đúng một lần).
Dữ liệu vào
Một dòng duy nhất chứa xâu gồm các chữ cái Latin thường.
Dữ liệu ra
In ra một số nguyên duy nhất là tổng cần tìm.
Ràng buộc
- .
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| aaaa | 20 | Các xâu con phân biệt là a, aa, aaa, aaaa với giá trị lần lượt là ; tổng bằng . |
| abcdef | 21 | Mỗi xâu con xuất hiện đúng một lần nên với mỗi xâu; có xâu con phân biệt. |
| abacabadabacaba | 188 | Tổng giá trị trên toàn bộ xâu con phân biệt bằng . |
Bình luận