Помогите с ДП по изломанному профилю

Revision ru7, by VladKov, 2019-11-20 06:02:36

Не могу разобраться с Динамикой по профилю. В интернете материала мало, понимаю по теории с informatics(https://informatics.msk.ru/mod/resource/view.php?id=5113) и neerc.ifmo. Понимаю на примере задачи паркет о замощении доминошками 2*1, 1*2. На e-maxx нашел следующий код. (http://e-maxx.ru/algo/profile_dynamics) По моим расчетам, асимптотика составляет O(n*m*2^(2n)), так как calc в худшем случае будет вызаваться по 2 раза по всей длине n. Так ли это? В комментариях указано O(n*m*2^n). Работает быстро И не могу понять дп по излом. профилю. Я читал теорию, о увеличении профилей в 2n, за счёт появления места излома — от 1 до n, и дополнительного бита в маске. Тем не менее, нигде код не нашел. На codeforces нашел такой код, и что то мне подсказывает, что это и есть дп по излому. (https://codeforces.me/gym/100124/submission/2804558)

Код взят к задачи о доминошках. Не могу понять, почему профилей (1 << n), а не (2 << n), что тогда j,и почему при подсчёте маски следующего столбца мы добавляем результат в этот же столбец? Всем благодарен

Tags дп, профиль

History

 
 
 
 
Revisions
 
 
  Rev. Lang. By When Δ Comment
ru8 Russian VladKov 2019-11-20 07:34:44 32
en4 English VladKov 2019-11-20 06:16:46 6 Tiny change: ' times in n. But t' -> ' times in range n. But t'
en3 English VladKov 2019-11-20 06:10:49 0 (published)
en2 English VladKov 2019-11-20 06:10:29 3 Tiny change: 'Works fast\n And I c' -> 'Works fast.\n\n And I c' (saved to drafts)
en1 English VladKov 2019-11-20 06:09:41 1028 Initial revision for English translation
ru7 Russian VladKov 2019-11-20 06:02:36 41
ru6 Russian VladKov 2019-11-20 04:35:57 89
ru5 Russian VladKov 2019-11-20 04:34:12 60
ru4 Russian VladKov 2019-11-20 04:33:38 71
ru3 Russian VladKov 2019-11-20 04:32:55 2 Мелкая правка: 'явления мечта излома ' -> 'явления места излома '
ru2 Russian VladKov 2019-11-20 04:31:50 53
ru1 Russian VladKov 2019-11-20 04:30:27 960 Первая редакция (опубликовано)