Вы чувствуете, что освоились со структурами данных и алгоритмами, но часто чувствуете себя застрявшим, когда дело доходит до динамического программирования(ДП)? Мы очень рады представить курс по динамическому программированию для всех, чтобы помочь вам освоить важные концепции динамического программирования и повысить уровень для соревновательного программирования и собеседований.
Мастер-курс по динамическому программированию преподают Апаар Камаль (инженер-программист Google и магистр Codeforces), вместе с Пратиком Нарангом (бывший инженер Google и основатель Coding Minutes). Этот очень подробный и строгий учебный план был разработан, чтобы обеспечить вам успех в онлайн-соревнованиях, где проблемы динамического программирования очень распространены в наши дни.
Многие ведущие компании, такие как Google, Facebook, Amazon, Directi, CodeNation, Goldman Sachs и т. д., поощряют конкурентное программирование и проводят соревнования, чтобы нанять умных людей, которые умеют решать проблемы.
Динамическое программирование (ДП) — популярный алгоритмический метод в компьютерном программировании, который помогает эффективно решать класс задач, которые имеют перекрывающиеся подзадачи и свойство оптимальной подструктуры.
Если какую-либо проблему можно разделить на подзадачи, которые, в свою очередь, делятся на более мелкие подзадачи, и если среди этих подзадач есть совпадения, то решения этих подзадач можно сохранить для дальнейшего использования. Таким образом, можно улучшить алгоритм и оптимизировать множество задач с помощью динамического программирования.
Более 40 часов курса охватывают широту и глубину динамического программирования (ДП), начиная с повторения рекурсии, поиска с возвратом и глубокого погружения в такие методы динамического программирования, как:
1D, 2D, многопотоковое ДП
Проблемы с ДП и разделами
ДП для комбинаторики и подпоследовательностей
ДП на строках
ДП на деревьях и графиках
ДП с битовыми масками
ДП и возведение матрицы в степень
ДП в теории игр
ДП с расширенными структурами данных
Посмотреть больше
Это пробный урок. Оформите подписку, чтобы получить доступ ко всем материалам курса. Премиум
Ограничение времени просмотра
Вы можете просматривать пробный урок только 10 минут. Получите полный доступ, чтобы смотреть без ограничений.
Changing Iteration over permutations to iteration over subsets
Урок 149.
00:02:36
Binary masking factorials
Урок 150.
00:05:21
Bitmask For Optimisations
Урок 151.
00:06:38
Bitmask For Optimisations (Code)
Урок 152.
00:09:22
Dp Bitmasking Bottom Up Code
Урок 153.
00:20:54
Optimal Selection
Урок 154.
00:09:08
Optimal Selection code
Урок 155.
00:16:29
Elevator Problem
Урок 156.
00:09:50
Elevator Problem (code)
Урок 157.
00:08:47
Intro
Урок 158.
00:07:59
Code
Урок 159.
00:15:01
Binary Exponentiation
Урок 160.
00:09:03
Modular Exponentiation
Урок 161.
00:10:46
Fast Multiplication
Урок 162.
00:15:55
Matrix Exponentiation
Урок 163.
00:14:24
Matrix Exponentiation Code
Урок 164.
00:07:29
Fibosum (spoj) first approach
Урок 165.
00:11:05
Fibosum (spoj) second approach
Урок 166.
00:08:17
Combinatorial Games
Урок 167.
00:14:23
Game Theory Problems using DP
Урок 168.
00:05:32
Mesere Rule
Урок 169.
00:05:32
Examples
Урок 170.
00:09:30
N/P Positions
Урок 171.
00:06:50
Chessboard Game
Урок 172.
00:21:03
Stone Division
Урок 173.
00:01:14
Intro
Урок 174.
00:05:35
Segment Trees - SUPW with K
Урок 175.
00:08:30
SUPW with K (code)
Урок 176.
00:09:05
Fenwick Trees - Longest Increasing Subsequence (nlogn)
Урок 177.
00:08:25
LIS(code)
Урок 178.
00:25:01
Forward vs Backward DP approaches
Урок 179.
00:30:46
Same state and multiple recurrence relations
Урок 180.
00:05:34
Recover the best solutions
Урок 181.
00:06:38
Super Duper Memory and Time Optimisation - Subset Sum
Урок 182.
00:01:26
Warning
Урок 183.
00:25:28
Frogs - 1
Урок 184.
00:25:30
Forgs - 2
Урок 185.
00:21:51
Vacation
Урок 186.
00:26:03
Knapsack - 1
Урок 187.
00:40:54
Knapsack - 2
Урок 188.
00:26:42
LCS
Урок 189.
00:21:47
LCS(code)
Урок 190.
00:09:10
Longest Path
Урок 191.
00:07:43
Longest Path (code)
Урок 192.
00:09:21
Grid 1
Урок 193.
00:04:11
Grid 1 (code)
Урок 194.
00:07:50
Coins
Урок 195.
00:13:15
Coins (code)
Урок 196.
00:15:22
Sushi
Урок 197.
00:13:49
Sushi (code)
Урок 198.
00:13:31
Stones
Урок 199.
00:31:36
Deque (First solution)
Урок 200.
00:10:44
Deque (Second Solution)
Урок 201.
00:27:03
Candies
Урок 202.
00:09:58
Candies(code)
Урок 203.
00:13:14
Slimes
Урок 204.
00:18:04
Slimes (code)
Урок 205.
00:08:12
Matching
Урок 206.
00:05:39
Matching continues
Урок 207.
00:20:19
Matching (code)
Урок 208.
00:22:44
Independent Set
Урок 209.
00:09:18
Independent Set(code)
Урок 210.
00:18:28
Flowers
Урок 211.
00:05:43
Flowers using Segment Tree
Урок 212.
00:19:53
Flowers(code)
Урок 213.
00:16:54
Walk
Урок 214.
00:05:44
Walk(code)
Урок 215.
00:17:42
Digit Sum
Урок 216.
00:18:24
Digit Sum (code)
Урок 217.
00:25:16
Permutation
Урок 218.
00:17:22
Permutation Brute Force
Урок 219.
00:17:54
Permutation (code)
Урок 220.
00:22:48
Grouping
Урок 221.
00:15:17
Grouping (code)
Автор - udemy
udemy
Udemy - одна из самых больших площадок в мире по доставке обучающего контента от разных авторов всего мира. Присутсвуют курсы практически на любую тему.
Команда внимательно читает ваши комментарии и оперативно на них реагирует. Вы можете спокойно оставлять запросы на обновления или задавать любые вопросы о курсе здесь.
Динамическое программирование - одна из самых важных и мощных алгоритмических техник, которая может использоваться для решения множества вычислительных задач. Оно является фундаментальным приемом, который следует изучить, чтобы укрепить свои навыки алгоритмического мышления и решения задач.Однако многие студенты испытывают затруднения в понимании динамического программирования и его применении для решения задач. Если вы находитесь в такой ситуаци
Курс "Продвинутые алгоритмы" представляет собой обширное руководство по фундаментальным структурам данных и алгоритмам, необходимым для успешного выступления на технических интервью. Этот курс идеально подходит как для начинающих, так и для тех, кто хочет углубить свои знания в алгоритмах и структурах данных. По завершении курса, вы будете готовы к успешным техническим интервью и сможете эффективно решать разнообразные задачи, используя
Этот курс по алгоритмам динамического программирования для собеседований научит вас продвинутым алгоритмам и структурам данных, необходимым для собеседований по программированию и технических интервью. Вы научитесь решать задачи на динамическое программирование и освоите основы структур данных и алгоритмов. Также вы получите глубокое понимание шаблонов динамического программирования для технических интервью и приобретете навыки, необходимые для р