Порридж В Ко-ливинге
И везде его имя
Viktor
Ну да, потому что это его фул-тайм работа
Порридж В Ко-ливинге
И почему-то мне показалось что вы вместе с ним работали
Порридж В Ко-ливинге
Наверное ему тоже можно вопросы задавать
Порридж В Ко-ливинге
Порридж В Ко-ливинге
Пожизненное наказание? 🤣
Viktor
Ну да, типа руководитель всего это дела.
Порридж В Ко-ливинге
Оу, ок, учту)
Viktor
Пожизненное наказание? 🤣
ну пока не уволится, да 😄
Порридж В Ко-ливинге
Как я понял, ждем дальше задачи easy
Порридж В Ко-ливинге
Потому что, если я решил задачу не угробив на неё час минимум… Значит задача легкая…
Порридж В Ко-ливинге
Да что, ну не надо же сразу выходить
Порридж В Ко-ливинге
Я на других легких задачах застревал так, что стыдно
Viktor
хз. я б не сказал, что задачка простая. нормальный такой медиум. в лоб не решается.
Viktor
Что такое в лоб? 😄
Порридж В Ко-ливинге
Что такое в лоб? 😄
Просто проитерировал с конца и все
Viktor
лол. это не в лоб. как вы вообще до этого догадались?
Evgeniy
Подсказка в том, что категория Greedy
Viktor
Подсказка в том, что категория Greedy
да. подсказка слегка выдает.
Порридж В Ко-ливинге
лол. это не в лоб. как вы вообще до этого догадались?
Ну, подумал, что может быть “ловушка”
Evgeniy
Просто проитерировал с конца и все
Тоже так хотел. Работает значит
Viktor
ну, я к тому что в лоб это когда ты рекурсивно делаешь все прыжки постоянно вперед и вперед
Viktor
а потом уже понимаешь, что это TLE и начинаешь думать. и понимаешь, что надо назад.
Viktor
конечно, если вы сразу поняли, что надо назад — ну ок. хорошая интуиция 😄
Порридж В Ко-ливинге
А, ну значит это задачка, которая для меня простая
Порридж В Ко-ливинге
Я вот например на элементарных деревьях танцую с бубнами
Viktor
это, кстати, вполне нормально. какие-то темы лучше идут, какие-то хуже.
Evgeniy
ну, я к тому что в лоб это когда ты рекурсивно делаешь все прыжки постоянно вперед и вперед
Ну тут у нас есть четкое знание, что надо добраться до конца. От этого исходим
Evgeniy
А если делать сначала, то да. На перебор времени не хватит
Viktor
А вот и дпшечка началась. Это я про сегодняшнюю задачу. Подсказки хорошие, помогают понять лучше дп.
Иван
Да, без подсказок можно долго сидеть)
Иван
В целом по сути та же самая задача как и с поиском кратчайшего пути в матрице из левого угла в правый.
Viktor
В принципе, да. Но эту я рекурсивной решал, начинать слева как-то понятнее.
Viktor
Хоть и заполнение матрицы будет справа, понятное дело, когда рекурсия назад начнёт разматываться.
V
я тоже решил рекурсивно. а потом посмотрел решения и, как обычно, почувствовал себя тупым
Иван
N^2
Иван
Но может кто и за N придумает)
Иван
Я пытаюсь понять тут решение человека NlogN
Порридж В Ко-ливинге
N^2
Ну, N^2 я догадываюсь
Порридж В Ко-ливинге
Просто выпилить лишние символы и прогнать от каждого символа
Viktor
Мне нравится как все говорят N, хотя там две строки разной длины: пусть их длины N и M.
Иван
А ну да, N*M)
Иван
Просто я на квадратном примере разбирал))
Порридж В Ко-ливинге
Просто можно сказать что N – длина большей
Порридж В Ко-ливинге
Это неправильно, просто для удобства
Viktor
Т.е. за O(N) решается?
я правильно понимаю, что вы допускаете, что есть такое решение которое ограничено проходом только по одной строке без учёта второй вообще, да? 😄
Порридж В Ко-ливинге
Нет, я же сказал что N – большая строка
Порридж В Ко-ливинге
А на фоне большей N, меньшая M – превращается O(2*N)
Порридж В Ко-ливинге
А это O(N)
Порридж В Ко-ливинге
Это наверное не возможно
Порридж В Ко-ливинге
Но все же
Viktor
А на фоне большей N, меньшая M – превращается O(2*N)
Да где 2*N если там N*N, если мы принимаем что N=M, пусть так будет.
Viktor
Я пока не пойму вообще как можно лучше чем за квадрат здесь решить.
Viktor
А у вас там линия легко получается уже 😄
Viktor
Хотел бы услышать решение.
Порридж В Ко-ливинге
Вот
Viktor
👍
Иван
Да, в сабмитах в топах там)
Порридж В Ко-ливинге
Я пока думаю, N*M сразу приходит, грубо говоря брут форс
Иван
Не брутфорс - это N^K
Viktor
Кажись нашёл — https://en.wikipedia.org/wiki/Hunt%E2%80%93Szymanski_algorithm
Viktor
на википедии
Viktor
ну это advanced-уровень уже
Viktor
в гуголь 😄
Порридж В Ко-ливинге
Viktor
Разве?
конечно. на каждый рекурсивный вызов вы ещё два делаете.
Viktor
стоп, а почему N^M, а не 2^(N + M) 🤔
Порридж В Ко-ливинге
Идешь от for (i = 0 … N) for (i … M)
Viktor
@Dastin_DV а какой там брутфорс ты хочешь?
Viktor
что N^M
Viktor
Вот здесь классно чувак разобрал и наивный подход и дпшечку в плане оценки сложности
Viktor
https://stackoverflow.com/questions/34688026/understanding-the-time-complexity-of-the-longest-common-subsequence-algorithm