Я пытаюсь понять что она говорит,но отвлекаюсь на её глаза))))Перематываю и снова смотрю.Пытаюсь не смотреть на глаза,а на задний фон,чтобы понять о чем она говорит,но периферическое зрение всё равно видит красоту и симметричность её лица.Не смотрю вообще на видео и пытаюсь услышать о чем она говорит,но слышу только её приятный голос.
Буду занудой, знаю что смысл видео не в этом, но можно реализовать более шустрый алгоритм, который работает за O(nlogn), с предварительной сортировкой за столько же, то есть мы проходим по всем элементам массива, и пытаемся бинарный поиском найти элемент равный sum - arr[i], причём ищем среди j, где 0
Можно использовать метод 2х указателей. Изначально они буду равны левому и правому элементам, но после сравнения их с искомой сумой, смещать левый указатель, если нынешняя больше искомой, и смещать правый, если меньше (так как это отсортированный массив, то это будет работать. Сложность алгоритма в худшем случае O(N)
я буду большей занудой, берешь хаш сет, и пробегаешся по масииву сравнивая есть ли в сете arr[i] - target если нет то добавляй его в сет и так получится 0(n) по памяти 0(n), ах ну да если все таки встретил arr[i] - target, то возращаешь i и то что нашел сет
Решено на кф - 512 задач , на лит коде -120 задач , при этом сейчас на кф рейт всего лишь 1436, хотя пару лет назад был бы кмс или экспертом , бред то что начали давать усложненные по сравнению с прошлыми годами на кф во втором диве .....
"Второе, работал быстро и не использовал много памяти". С этим не соглашусь, всё зависит от ситуации. В каких-то более понятный код предпочтительней быстрой работы. В каких-то для быстрой работы наоборот пишут такие алгоритмы, которые используют много памяти.
Да, но в этом видео я рассказываю исключительно про спортивное программирование. Конечно порой понятный код предпочтительнее или, если Вы заранее знаете размер данных и они, допустим, не супер большие, то порой оптимальнее выбрать алгоритм, который асимптотически работает медленнее. Но повторюсь, это видео про олимпиадное программирование, где Вам в задаче сразу пишут все ограничения. Решение, которое работает медленнее(даже если в реальности бы Вы возможно для конкретной задачи его и не выбрали) просто не зайдет
мало информации. решение вроде бы простое - проходка от а1+а2+...аN + a2+...aN+... - т.е. как ни крути типа o(N^2). Можно в рекурсию завернуть, но оптимальнее от этого не будет
В этом видео у меня не было задачи показать оптимальное решение. Оба мои решения в этом видео - это O(n^2) как ни крути. Если Вы хотите решить эту задачку за линию (спойлер - это возможно:), то один из вариантов воспользоваться хэш таблицами. Я, кстати, буквально пару дней назад выставила видео на эту тему: ruclips.net/video/zDezpE2TTWE/видео.html
@@HochuVStem Получается мы записываем все значения из массива в HashMap и дальше проходим по каждому и смотрим есть ли элемент с ключом (нужное число) - (текущее число) и выводим нужные индексы?
@@HochuVStem Кстати есть простая, но крутая задача. Дан массив и в нём все числа, кроме одного имеют свою пару. Надо назвать это число (есть решение с линейной асимптотикой и без использования лишней памяти)
@@joly3122 Я не очень поняла что ты хранишь в hashMap, но +- оно, да. На самом деле ты можешь ограничиться даже 1 проходом по массиву, если записывать пару (key: число, value: индекс), то перед тем как вставлять новое число(current) - мы смотрим нет ли в таблице числа, которое дополняло бы current до target. Ну и если нашли - мы можем сразу вывести индексы и выходим
Это очень зависит от вашей мотивировки. Конечно победителем ICPC(считается самой крутой международной олимпиадой по проге) скорее всего Вы не станете. Но за пару лет натренироваться неплохо писать контесты на codeforces, чтобы занимать довольно высокие места, более чем реально. Если вдруг Вам интересно - я снимала целое видео про то, зачем нужна олимп прога ruclips.net/video/RTQVHMC0ePI/видео.html и после где можно порешать задачки(там про codeforces) ruclips.net/video/yygYw26kbL4/видео.html
@@HochuVStem Круто, спасибо. Сними, пожалуйста, видео о том, как самостоятельно учить computer science, какие нибудь ресурсы там, книжки, step by step гайдик😊. А то я в горном учусь, но хочу заниматься программированием
Хорошая идея, нужно подумать над этим, я обязательно сниму что-то такое! Но для начала - очень советую курс по питону, про который я в этом видео говорила. Если до этого не прогал - то он неплохой, чтобы прощупать самые азы(из разряда узнать что такое цикл for, самые-самые базовые вещи какие-то). Ну и можно, когда познакомишься с базовыми конструкциями - пойти попрактиковаться в секцию easy на LeetCode(я рассказывала в одном из тех видео, которые скинула, что это такое), чтобы просто чутка набить руку писать какие-то простые вещи, так как в курсе задачек на практику какое-то конечное число
Я пытаюсь понять что она говорит,но отвлекаюсь на её глаза))))Перематываю и снова смотрю.Пытаюсь не смотреть на глаза,а на задний фон,чтобы понять о чем она говорит,но периферическое зрение всё равно видит красоту и симметричность её лица.Не смотрю вообще на видео и пытаюсь услышать о чем она говорит,но слышу только её приятный голос.
С чего начать изучение если осталось 5 часов
Ахраахпап всош видимо по инфе, школьный тур это база
Я хз что туда учить, ничего наверное
Закрыть игру. Выспаться))
@@andd3dfx мне кажется ты немного поздно, но я поступил куда хотел
@@yungeji а куда поступил?
Буду занудой, знаю что смысл видео не в этом, но можно реализовать более шустрый алгоритм, который работает за O(nlogn), с предварительной сортировкой за столько же, то есть мы проходим по всем элементам массива, и пытаемся бинарный поиском найти элемент равный sum - arr[i], причём ищем среди j, где 0
@Михаил Фаиров это фигово по памяти
Можно использовать метод 2х указателей. Изначально они буду равны левому и правому элементам, но после сравнения их с искомой сумой, смещать левый указатель, если нынешняя больше искомой, и смещать правый, если меньше (так как это отсортированный массив, то это будет работать. Сложность алгоритма в худшем случае O(N)
я буду большей занудой, берешь хаш сет, и пробегаешся по масииву сравнивая есть ли в сете arr[i] - target если нет то добавляй его в сет и так получится 0(n) по памяти 0(n), ах ну да если все таки встретил arr[i] - target, то возращаешь i и то что нашел сет
Решено на кф - 512 задач , на лит коде -120 задач , при этом сейчас на кф рейт всего лишь 1436, хотя пару лет назад был бы кмс или экспертом , бред то что начали давать усложненные по сравнению с прошлыми годами на кф во втором диве .....
А что такое кф?
@@QTe-zh8pb codeforces.com
@@QTe-zh8pb codeforces
Отличное видео, спасибо!
Ура, очень рада, что Вам понравилось:)
Спасибо.Очень интересно😍
Ура! Очень рада, что понравилось:)
@@HochuVStem Извините, а почему в начале нельзя сразу отсечь числа большие или равные числу (тогда сложность алгоритма станет меньше)?
@@НикитаШестериков-р6ы в массиве могут быть отрицательные числа
Комментарий не в тему, но напишу что вы красивая
"Второе, работал быстро и не использовал много памяти". С этим не соглашусь, всё зависит от ситуации. В каких-то более понятный код предпочтительней быстрой работы. В каких-то для быстрой работы наоборот пишут такие алгоритмы, которые используют много памяти.
Да, но в этом видео я рассказываю исключительно про спортивное программирование. Конечно порой понятный код предпочтительнее или, если Вы заранее знаете размер данных и они, допустим, не супер большие, то порой оптимальнее выбрать алгоритм, который асимптотически работает медленнее. Но повторюсь, это видео про олимпиадное программирование, где Вам в задаче сразу пишут все ограничения. Решение, которое работает медленнее(даже если в реальности бы Вы возможно для конкретной задачи его и не выбрали) просто не зайдет
Good video. Thanks!
мало информации. решение вроде бы простое - проходка от а1+а2+...аN + a2+...aN+... - т.е. как ни крути типа o(N^2). Можно в рекурсию завернуть, но оптимальнее от этого не будет
В этом видео у меня не было задачи показать оптимальное решение. Оба мои решения в этом видео - это O(n^2) как ни крути. Если Вы хотите решить эту задачку за линию (спойлер - это возможно:), то один из вариантов воспользоваться хэш таблицами. Я, кстати, буквально пару дней назад выставила видео на эту тему: ruclips.net/video/zDezpE2TTWE/видео.html
@@HochuVStem Также очень хвалят книгу "Грокаем Алгоритмы". Сам хотел бы почитать
@@HochuVStem Получается мы записываем все значения из массива в HashMap и дальше проходим по каждому и смотрим есть ли элемент с ключом (нужное число) - (текущее число) и выводим нужные индексы?
@@HochuVStem Кстати есть простая, но крутая задача. Дан массив и в нём все числа, кроме одного имеют свою пару. Надо назвать это число (есть решение с линейной асимптотикой и без использования лишней памяти)
@@joly3122 Я не очень поняла что ты хранишь в hashMap, но +- оно, да. На самом деле ты можешь ограничиться даже 1 проходом по массиву, если записывать пару (key: число, value: индекс), то перед тем как вставлять новое число(current) - мы смотрим нет ли в таблице числа, которое дополняло бы current до target. Ну и если нашли - мы можем сразу вывести индексы и выходим
А какой язык программирования вы бы посоветовали именно для спортивного программирования?
Это классный вопрос, я бы посоветовала либо C++, либо Java(я пишу(писала по большей части) обычно на плюсах), тут уже что Вам ближе
@@HochuVStem Спасибо большое за ответ)
Успехов вам в ваших начинаниях!
Отличное видео! Я уже год участвую на олимпиадах. Сейчас я хочу помочь другим в этой сфере, можете пожалуйста поддержать если не сложно
а можно сылку на задачу?
Добрый день! Я добавила ссылку в описание:)
Зачем в таком возрасте Вы пишете на C++? Что-то случилось?
Да, я училась в универе…
Но теперь со мной все хорошо! Я пишу на sql + python и ни о чем е жалею:))
Обязательно учиться в вузах, чтобы принимать участие в топовых соревнованиях?
В топовых?
@@HochuVStem Я имел в виду, обязательно ли быть студентом вуза, чтобы участвовать в ICPC, например
@@skiAmaura ICPC - да, но все не заканчивается одним ICPC:)
об этом узнал после отчислении😅 и теперь планирую вернуться в вуз. Какие олимпиады знаешь?
Спортивное программирование - смысл моей жизни!
Киберспортсмен что-ли?)
Нормик. Но кстати мне каж это как в шахматах, тупа с рождения надо учиться, чтобы побеждать. В 20+ зачем начинать уже
Это очень зависит от вашей мотивировки. Конечно победителем ICPC(считается самой крутой международной олимпиадой по проге) скорее всего Вы не станете. Но за пару лет натренироваться неплохо писать контесты на codeforces, чтобы занимать довольно высокие места, более чем реально. Если вдруг Вам интересно - я снимала целое видео про то, зачем нужна олимп прога ruclips.net/video/RTQVHMC0ePI/видео.html и после где можно порешать задачки(там про codeforces) ruclips.net/video/yygYw26kbL4/видео.html
@@HochuVStem Круто, спасибо. Сними, пожалуйста, видео о том, как самостоятельно учить computer science, какие нибудь ресурсы там, книжки, step by step гайдик😊. А то я в горном учусь, но хочу заниматься программированием
Хорошая идея, нужно подумать над этим, я обязательно сниму что-то такое! Но для начала - очень советую курс по питону, про который я в этом видео говорила. Если до этого не прогал - то он неплохой, чтобы прощупать самые азы(из разряда узнать что такое цикл for, самые-самые базовые вещи какие-то). Ну и можно, когда познакомишься с базовыми конструкциями - пойти попрактиковаться в секцию easy на LeetCode(я рассказывала в одном из тех видео, которые скинула, что это такое), чтобы просто чутка набить руку писать какие-то простые вещи, так как в курсе задачек на практику какое-то конечное число
@@rainylofi3532 CS иногда выпускают курсики закрытые для тех кто хочет поступать к ним, в кратце надо на линал налегать ну и алгосы.