Олимпиадные задачи. Динамическое программирование презентация

Содержание

Слайд 2

Задача «Таблица»

Задача «Таблица»

Слайд 3

Слайд 4

Первый способ

Первый способ

Слайд 5

Второй способ

С диагоналями. Нужен, чтобы хранить не 3 строки одной таблицы (B), а

по две строки трех таблиц (L, R, B)

Второй способ С диагоналями. Нужен, чтобы хранить не 3 строки одной таблицы (B),

Слайд 6

L

R

B

Что должно
получиться

Первую строку заполняем первой строкой из А

Заполняем вторую строку B по-честному

L R B Что должно получиться Первую строку заполняем первой строкой из А

Слайд 7

L

R

B

Что должно
получиться

Первую строку заполняем первой строкой из А

Заполняем вторую строку B по-честному

L R B Что должно получиться Первую строку заполняем первой строкой из А

Слайд 8

L

R

B

Что должно
получиться

Теперь можно и третью строку В заполнить

B[i, j] = 2*B[i-1,j] +

L[i-1,j-1] + R[i+1,j+1]
L[i, j] = L[i-1,j-1] + B[i,j]
R[i, j] = R[i-1,j+1] + B[i,j]

Заполняем вторую строку L и R по формулам

L R B Что должно получиться Теперь можно и третью строку В заполнить

Слайд 9

L

R

B

Что должно
получиться

B[i, j] = 2*B[i-1,j] + L[i-1,j-1] + R[i+1,j+1]
L[i, j] = L[i-1,j-1]

+ B[i,j]
R[i, j] = R[i-1,j+1] + B[i,j]

Теперь можно и третью строку В заполнить

L R B Что должно получиться B[i, j] = 2*B[i-1,j] + L[i-1,j-1] +

Слайд 10

L

R

B

Что должно
получиться

B[i, j] = 2*B[i-1,j] + L[i-1,j-1] + R[i+1,j+1]
L[i, j] = L[i-1,j-1]

+ B[i,j]
R[i, j] = R[i-1,j+1] + B[i,j]

Теперь можно и третью строку В заполнить

L R B Что должно получиться B[i, j] = 2*B[i-1,j] + L[i-1,j-1] +

Слайд 11

L

R

B

Что должно
получиться

B[i, j] = 2*B[i-1,j] + L[i-1,j-1] + R[i+1,j+1]
L[i, j] = L[i-1,j-1]

+ B[i,j]
R[i, j] = R[i-1,j+1] + B[i,j]

Теперь можно и третью строку В заполнить

L R B Что должно получиться B[i, j] = 2*B[i-1,j] + L[i-1,j-1] +

Слайд 12

L

R

B

Что должно
получиться

Теперь можно и третью строку В заполнить

B[i, j] = 2*B[i-1,j] +

L[i-1,j-1] + R[i+1,j+1]
L[i, j] = L[i-1,j-1] + B[i,j]
R[i, j] = R[i-1,j+1] + B[i,j]

L R B Что должно получиться Теперь можно и третью строку В заполнить

Слайд 13

L

R

B

Что должно
получиться

Далее заполняем по формулам третьи строки L и R

B[i, j] =

2*B[i-1,j] + L[i-1,j-1] + R[i+1,j+1]
L[i, j] = L[i-1,j-1] + B[i,j]
R[i, j] = R[i-1,j+1] + B[i,j]

L R B Что должно получиться Далее заполняем по формулам третьи строки L

Слайд 14

L

R

B

Что должно
получиться

Далее заполняем по формулам третьи строки L и R и т.д.

B[i,

j] = 2*B[i-1,j] + L[i-1,j-1] + R[i+1,j+1]
L[i, j] = L[i-1,j-1] + B[i,j]
R[i, j] = R[i-1,j+1] + B[i,j]

L R B Что должно получиться Далее заполняем по формулам третьи строки L

Имя файла: Олимпиадные-задачи.-Динамическое-программирование.pptx
Количество просмотров: 29
Количество скачиваний: 0