Jul. 1st, 2009

irene221b: (Default)
Интересная алгоритмическая проблемка.

Есть набор строк (одной длины, но это вроде бы неважно). Есть два параметера: Х - максимальное число позволенных do-not-care симоволов, и N - максимальное число строк в результате. Нужно разбить исходный набор в соответствии с этими параметерами, ну или установить, что это невозможно.

Например:
1 2 3 1 2 3 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 3 3 3 7 8 9

При Х = 3 результат такой: 1 2 3 ? ? ? 7 8 9, но при Х = 2 это уже не годится, нужно выдать:
1 2 3 ? ? 3 7 8 9
1 2 3 4 5 6 7 8 9

Строки запихнуты в ternary tree, которое позволяет поиск всех строк на опредленном расстоянии от данной строки, а так же поиск всех строк, удовлетворяющих шаблонам с do-not-care.

Но можно запихнуть и в какую-нибудь другую структуру.
irene221b: (Default)
Интересная алгоритмическая проблемка.

Есть набор строк (одной длины, но это вроде бы неважно). Есть два параметера: Х - максимальное число позволенных do-not-care симоволов, и N - максимальное число строк в результате. Нужно разбить исходный набор в соответствии с этими параметерами, ну или установить, что это невозможно.

Например:
1 2 3 1 2 3 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 3 3 3 7 8 9

При Х = 3 результат такой: 1 2 3 ? ? ? 7 8 9, но при Х = 2 это уже не годится, нужно выдать:
1 2 3 ? ? 3 7 8 9
1 2 3 4 5 6 7 8 9

Строки запихнуты в ternary tree, которое позволяет поиск всех строк на опредленном расстоянии от данной строки, а так же поиск всех строк, удовлетворяющих шаблонам с do-not-care.

Но можно запихнуть и в какую-нибудь другую структуру.

Profile

irene221b: (Default)
irene221b

December 2025

S M T W T F S
 123456
78910111213
14151617181920
21222324252627
28 293031   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 6th, 2026 03:02 am
Powered by Dreamwidth Studios