Xâu dài dòng


Submit solution

Points: 50
Time limit: 1.0s
Memory limit: 64M

Author:
Problem type

Cho một xâu \(S\) có \(N\) kí tự latinh thường \((a -> z)\).

Người ta kí hiệu \(S_i\) là kí tự thứ \(i\) khi đánh số xâu \(S\) từ \(1 -> N\) từ trái qua phải.

Một xâu được gọi là xâu dài dòng nếu như tồn tại ít nhất một kí tự trong xâu đó xuất hiện ít nhất hai lần.

Ví dụ: xâu acbc hay \(aabbbc\) là các xâu dài dòng.

Yêu cầu: Đếm số lượng bộ \((i,j)\) trong đó \(1 \leq i \leq j \leq N\) và xâu con \(S_i S_(i+1)… S_j\) là xâu dài dòng.

Dữ liệu vào:

  • Dòng đầu tiên ghi số nguyên dương \(N (2 \leq N \leq 10^5)\) là độ dài của xâu S.
  • Dòng thứ hai gồm \(N\) kí tự latinh in thường biểu diễn xâu \(S\).

Kết quả ra:

  • Một dòng duy nhất là số lượng xâu dài dòng tìm được.

Examples

INPUT OUTPUT
\(5\)
\(abcac\)
\(4\)

Giải thích

  • ví dụ: 4 xâu con là xâu dài dòng: \(abca,cac,bcac,abcac\)

Ràng buộc:

  • Subtask1: 30% số test tương ứng với tất cả ký tự trong xâu S đều giống nhau.
  • Subtask2: 40% số test tiếp theo ứng với \(N \le 1000\).
  • Subtask3: 30% số test còn lại không có ràng buộc gì.

Comments

There are no comments at the moment.