- Описание
- Отправленные решения
266. Кластеризация символьных последовательностей
Есть конечный алфавит $A = \{a_1, a_2, \dots, a_{K-1}, a_K=S\}, a_i \in \{a, b, \dots z\}, S$ — конец строки.
Рассмотрим следующий способ генерации случайных строк над алфавитом $A$.
- Первый символ $x_1$ — случайная величина с распределением $P(x_1=a_i)=q_i$ (известно, что $q_K=0$).
- Каждый следующий символ генерируется на основе предыдущего в соответствии с условным распределением $P(x_i=a_j | x_{i-1}=a_l) = p_{jl}$.
- Если $x_i=S$, генерация прекращается, и результатом является $x_1x_2...x_{i-1}$.
Дан набор строк, сгенерированных из смеси двух описанных моделей с различными параметрами. Необходимо для каждой строки дать индекс цепи, из которой она была сгенерирована.
Формат ввода
В первой строке записано два числа $1000 \le N \le 2000$ и $3 \le K \le 27$ — число строк и размер алфавита, соответственно.
Во второй строке записана строка, состоящая из $K-1$ различных строчных букв латинского алфавита, обозначающая первые $K-1$ элементов алфавита $\mathcal{A}$.
Каждая из следующих $N$ строк сгенерирована по описанному в условии алгоритму.
Гарантируется, что число строк, сгенерированных каждой моделью, составляет не менее $20\%$ от общего числа.
Формат вывода
строк, в $i$-ой строке содержится номер кластера (0/1) для последовательности на $i+1$-ой строке входного файла. Совпадение с истинным ответом должно быть не менее $80\%$.
Примечание
Замечание к тесту из условия: в нём первые 50 строк сгенерированы из распределения $P(x_i = a | x_{i-1}=a) = 0.5, P(x_i = S | x_{i-1}=a) = 0.5, P(x_1=a) = 1$; вторые 50 — из распределения $P(x_i = b | x_{i-1}=b) = 0.5, P(x_i = S | x_{i-1}=b) = 0.5, P(x_1=b) = 1$.
Ограничения
Ограничение времени
6 с
Ограничение памяти
64 МБ
Пример 1
100 3
ab
a
a
aa
a
aaa
a
aaaaaa
aa
a
a
a
aaa
a
a
aaa
aa
aaaa
aaa
a
aaaaa
aa
a
aaaa
a
a
a
a
a
a
aa
aaaa
aaa
a
aa
aaaa
a
a
a
a
a
a
a
a
a
a
aa
aaa
aaa
a
a
bbb
bb
bb
bbbbbbb
bb
bbb
b
bbbbbbb
bbbb
bbb
bb
bbb
bb
bb
bbb
bbbbbb
bbb
b
bbbbbb
b
bbbbb
b
b
bb
b
bb
bb
b
b
b
b
bb
bb
bb
b
b
b
bb
b
bbb
bb
b
bbbbbb
b
bb
bb
bb
b
bb
bbb
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1