Олимпиадное программирование: что такое и с чего начать?

Поделиться
HTML-код
  • Опубликовано: 14 янв 2025

Комментарии • 59

  • @PrizeFrom
    @PrizeFrom Год назад +5

    Я пытаюсь понять что она говорит,но отвлекаюсь на её глаза))))Перематываю и снова смотрю.Пытаюсь не смотреть на глаза,а на задний фон,чтобы понять о чем она говорит,но периферическое зрение всё равно видит красоту и симметричность её лица.Не смотрю вообще на видео и пытаюсь услышать о чем она говорит,но слышу только её приятный голос.

  • @yungeji
    @yungeji 2 года назад +42

    С чего начать изучение если осталось 5 часов

    • @lolikice8283
      @lolikice8283 2 года назад +3

      Ахраахпап всош видимо по инфе, школьный тур это база

    • @lolikice8283
      @lolikice8283 2 года назад

      Я хз что туда учить, ничего наверное

    • @andd3dfx
      @andd3dfx 6 месяцев назад +2

      Закрыть игру. Выспаться))

    • @yungeji
      @yungeji 6 месяцев назад

      @@andd3dfx мне кажется ты немного поздно, но я поступил куда хотел

    • @Pigeon-o5l
      @Pigeon-o5l 5 месяцев назад

      @@yungeji а куда поступил?

  • @diyarhalone1262
    @diyarhalone1262 3 года назад +9

    Буду занудой, знаю что смысл видео не в этом, но можно реализовать более шустрый алгоритм, который работает за O(nlogn), с предварительной сортировкой за столько же, то есть мы проходим по всем элементам массива, и пытаемся бинарный поиском найти элемент равный sum - arr[i], причём ищем среди j, где 0

    • @semninrussia
      @semninrussia Год назад +1

      @Михаил Фаиров это фигово по памяти

    • @semninrussia
      @semninrussia Год назад +1

      Можно использовать метод 2х указателей. Изначально они буду равны левому и правому элементам, но после сравнения их с искомой сумой, смещать левый указатель, если нынешняя больше искомой, и смещать правый, если меньше (так как это отсортированный массив, то это будет работать. Сложность алгоритма в худшем случае O(N)

    • @jet4904
      @jet4904 Год назад

      я буду большей занудой, берешь хаш сет, и пробегаешся по масииву сравнивая есть ли в сете arr[i] - target если нет то добавляй его в сет и так получится 0(n) по памяти 0(n), ах ну да если все таки встретил arr[i] - target, то возращаешь i и то что нашел сет

  • @КаналЭйса-ь8в
    @КаналЭйса-ь8в 3 года назад +5

    Решено на кф - 512 задач , на лит коде -120 задач , при этом сейчас на кф рейт всего лишь 1436, хотя пару лет назад был бы кмс или экспертом , бред то что начали давать усложненные по сравнению с прошлыми годами на кф во втором диве .....

  • @timurboltaev8688
    @timurboltaev8688 3 года назад +1

    Отличное видео, спасибо!

    • @HochuVStem
      @HochuVStem  3 года назад +2

      Ура, очень рада, что Вам понравилось:)

  • @user-do5ru7jv1w
    @user-do5ru7jv1w 3 года назад +2

    Спасибо.Очень интересно😍

    • @HochuVStem
      @HochuVStem  3 года назад +1

      Ура! Очень рада, что понравилось:)

    • @НикитаШестериков-р6ы
      @НикитаШестериков-р6ы 3 года назад +1

      @@HochuVStem Извините, а почему в начале нельзя сразу отсечь числа большие или равные числу (тогда сложность алгоритма станет меньше)?

    • @HochuVStem
      @HochuVStem  3 года назад +1

      @@НикитаШестериков-р6ы в массиве могут быть отрицательные числа

  • @АлексейНикто-о4р
    @АлексейНикто-о4р 2 года назад +3

    Комментарий не в тему, но напишу что вы красивая

  • @ffunktor
    @ffunktor 3 года назад +2

    "Второе, работал быстро и не использовал много памяти". С этим не соглашусь, всё зависит от ситуации. В каких-то более понятный код предпочтительней быстрой работы. В каких-то для быстрой работы наоборот пишут такие алгоритмы, которые используют много памяти.

    • @HochuVStem
      @HochuVStem  3 года назад +3

      Да, но в этом видео я рассказываю исключительно про спортивное программирование. Конечно порой понятный код предпочтительнее или, если Вы заранее знаете размер данных и они, допустим, не супер большие, то порой оптимальнее выбрать алгоритм, который асимптотически работает медленнее. Но повторюсь, это видео про олимпиадное программирование, где Вам в задаче сразу пишут все ограничения. Решение, которое работает медленнее(даже если в реальности бы Вы возможно для конкретной задачи его и не выбрали) просто не зайдет

  • @WEBSTART-LIVE
    @WEBSTART-LIVE 3 года назад +1

    Good video. Thanks!

  • @a.osethkin55
    @a.osethkin55 3 года назад +1

    мало информации. решение вроде бы простое - проходка от а1+а2+...аN + a2+...aN+... - т.е. как ни крути типа o(N^2). Можно в рекурсию завернуть, но оптимальнее от этого не будет

    • @HochuVStem
      @HochuVStem  3 года назад

      В этом видео у меня не было задачи показать оптимальное решение. Оба мои решения в этом видео - это O(n^2) как ни крути. Если Вы хотите решить эту задачку за линию (спойлер - это возможно:), то один из вариантов воспользоваться хэш таблицами. Я, кстати, буквально пару дней назад выставила видео на эту тему: ruclips.net/video/zDezpE2TTWE/видео.html

    • @joly3122
      @joly3122 3 года назад

      @@HochuVStem Также очень хвалят книгу "Грокаем Алгоритмы". Сам хотел бы почитать

    • @joly3122
      @joly3122 3 года назад

      @@HochuVStem Получается мы записываем все значения из массива в HashMap и дальше проходим по каждому и смотрим есть ли элемент с ключом (нужное число) - (текущее число) и выводим нужные индексы?

    • @joly3122
      @joly3122 3 года назад

      @@HochuVStem Кстати есть простая, но крутая задача. Дан массив и в нём все числа, кроме одного имеют свою пару. Надо назвать это число (есть решение с линейной асимптотикой и без использования лишней памяти)

    • @HochuVStem
      @HochuVStem  3 года назад

      @@joly3122 Я не очень поняла что ты хранишь в hashMap, но +- оно, да. На самом деле ты можешь ограничиться даже 1 проходом по массиву, если записывать пару (key: число, value: индекс), то перед тем как вставлять новое число(current) - мы смотрим нет ли в таблице числа, которое дополняло бы current до target. Ну и если нашли - мы можем сразу вывести индексы и выходим

  • @nuraymaskatkyzy3033
    @nuraymaskatkyzy3033 3 года назад +1

    А какой язык программирования вы бы посоветовали именно для спортивного программирования?

    • @HochuVStem
      @HochuVStem  3 года назад +2

      Это классный вопрос, я бы посоветовала либо C++, либо Java(я пишу(писала по большей части) обычно на плюсах), тут уже что Вам ближе

    • @nuraymaskatkyzy3033
      @nuraymaskatkyzy3033 3 года назад +1

      @@HochuVStem Спасибо большое за ответ)
      Успехов вам в ваших начинаниях!

  • @Zhussipru
    @Zhussipru 2 года назад +2

    Отличное видео! Я уже год участвую на олимпиадах. Сейчас я хочу помочь другим в этой сфере, можете пожалуйста поддержать если не сложно

  • @MCLoveKherson
    @MCLoveKherson 3 года назад +1

    а можно сылку на задачу?

    • @HochuVStem
      @HochuVStem  3 года назад +1

      Добрый день! Я добавила ссылку в описание:)

  • @andd3dfx
    @andd3dfx 6 месяцев назад

    Зачем в таком возрасте Вы пишете на C++? Что-то случилось?

    • @HochuVStem
      @HochuVStem  6 месяцев назад

      Да, я училась в универе…
      Но теперь со мной все хорошо! Я пишу на sql + python и ни о чем е жалею:))

  • @skiAmaura
    @skiAmaura 2 года назад +1

    Обязательно учиться в вузах, чтобы принимать участие в топовых соревнованиях?

    • @HochuVStem
      @HochuVStem  2 года назад

      В топовых?

    • @skiAmaura
      @skiAmaura 2 года назад

      @@HochuVStem Я имел в виду, обязательно ли быть студентом вуза, чтобы участвовать в ICPC, например

    • @HochuVStem
      @HochuVStem  2 года назад

      @@skiAmaura ICPC - да, но все не заканчивается одним ICPC:)

    • @nuv7721
      @nuv7721 2 года назад

      об этом узнал после отчислении😅 и теперь планирую вернуться в вуз. Какие олимпиады знаешь?

  • @mychannel-te5ke
    @mychannel-te5ke 3 года назад +10

    Спортивное программирование - смысл моей жизни!

    • @andd3dfx
      @andd3dfx 6 месяцев назад +1

      Киберспортсмен что-ли?)

  • @rainylofi3532
    @rainylofi3532 3 года назад +1

    Нормик. Но кстати мне каж это как в шахматах, тупа с рождения надо учиться, чтобы побеждать. В 20+ зачем начинать уже

    • @HochuVStem
      @HochuVStem  3 года назад +1

      Это очень зависит от вашей мотивировки. Конечно победителем ICPC(считается самой крутой международной олимпиадой по проге) скорее всего Вы не станете. Но за пару лет натренироваться неплохо писать контесты на codeforces, чтобы занимать довольно высокие места, более чем реально. Если вдруг Вам интересно - я снимала целое видео про то, зачем нужна олимп прога ruclips.net/video/RTQVHMC0ePI/видео.html и после где можно порешать задачки(там про codeforces) ruclips.net/video/yygYw26kbL4/видео.html

    • @rainylofi3532
      @rainylofi3532 3 года назад +1

      @@HochuVStem Круто, спасибо. Сними, пожалуйста, видео о том, как самостоятельно учить computer science, какие нибудь ресурсы там, книжки, step by step гайдик😊. А то я в горном учусь, но хочу заниматься программированием

    • @HochuVStem
      @HochuVStem  3 года назад

      Хорошая идея, нужно подумать над этим, я обязательно сниму что-то такое! Но для начала - очень советую курс по питону, про который я в этом видео говорила. Если до этого не прогал - то он неплохой, чтобы прощупать самые азы(из разряда узнать что такое цикл for, самые-самые базовые вещи какие-то). Ну и можно, когда познакомишься с базовыми конструкциями - пойти попрактиковаться в секцию easy на LeetCode(я рассказывала в одном из тех видео, которые скинула, что это такое), чтобы просто чутка набить руку писать какие-то простые вещи, так как в курсе задачек на практику какое-то конечное число

    • @luckytima2315
      @luckytima2315 2 года назад

      @@rainylofi3532 CS иногда выпускают курсики закрытые для тех кто хочет поступать к ним, в кратце надо на линал налегать ну и алгосы.