Изменения

Перейти к: навигация, поиск

Динамическое программирование по профилю

Нет изменений в размере, 01:19, 14 января 2013
Общие принципы
== Общие принципы ==
Обычно нам дана таблица и надо посчитать количество замощений этой таблицы по некоторому свойству. Можно перебрать все варианты и выбрать из них удовлетворяющие условию. Но можно воспользоваться методом динамического программирование программирования по профилю и сократить время по одной размерности до линейной. Затем пусть у нас есть правило по которому надо заполнить и для него нам надо k предыдущих линий. Тогда можно перебрать все замощения длиной <tex>k\times n</tex>. В итоге нужно заполнить данную таблицу этими замощениями. Получается, что если перебирать все варианты нам понадобиться <tex>O(a^{nm})</tex> времени, а если перебирать только состояния и переходить по ним нам потребуется <tex>O(a^{kn}*m)</tex> времени (где а - количество способов замещения 1 клетки).
== '''Задача о замощении домино''' ==
27
правок

Навигация