Codeforces Round 427 (Div. 2) |
---|
Закончено |
Палиндромная характеристика строки s длины |s| — это последовательность из |s| целых чисел, k-е из которых равно количеству непустых подстрок строки s, являющихся k-палиндромами.
Строка является 1-палиндромом тогда и только тогда, когда она читается одинаково как слева-направо, так и справа-налево.
Строка является k-палиндромом (k > 1) тогда и только тогда, когда:
Левая половина строки t — это её префикс длины ⌊|t| / 2⌋, а правая — её суффикс той же длины. ⌊|t| / 2⌋ обозначает длину строки t, делённую на 2, округленную вниз.
Обратите внимание, что каждая подстрока учитывается столько раз, сколько встречается как подстрока. Так, например, в строке «aaa» подстрока «a» встречается 3 раза.
Первая строка содержит строку s (1 ≤ |s| ≤ 5000), состоящую из строчных латинских букв.
Выведите |s| целых чисел — палиндромную характеристику строки s.
abba
6 1 0 0
abacaba
12 4 1 0 0 0 0
В первом примере 1-палиндромами являются подстроки «a», «b», «b», «a», «bb», «abba», 2-палиндромом является подстрока «bb». 3- и 4-палиндромы у этой строки отсутствуют.
Название |
---|