Блог пользователя TheRealRoman

Автор TheRealRoman, 12 лет назад, По-русски

Добрый день. Скоро стартует школьный олимпиадный сезон, хотелось бы хорошенько подготовится. Кто может посоветовать хорошую литературу или что-то еще для данной цели. Язык Pascal-Delphi. Основы знаю, но знания уже близки к минимуму :)

  • Проголосовать: нравится
  • +3
  • Проголосовать: не нравится

»
12 лет назад, # |
Rev. 6   Проголосовать: нравится +10 Проголосовать: не нравится

Из литературы, наверное, лучше всего будет Т. Кормен "Алгоритмы. Построение и анализ". Там довольно много алгоритмов и все они достаточно понятно объяснены.

Также есть сайт e-maxx. Там тоже очень много алгоритмов, но реализация их всех на C++. Поэтому можно либо пытаться все понимать без реализации, либо переходить на С++.

Ну а для тренировки есть куча сайтов для offline/online сдачи задач в проверяющую систему. Например, Timus, Sgu, Informatics, Codechef, ну и Codeforces, конечно же.

Удачи!

  • »
    »
    12 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится +3 Проголосовать: не нравится

    Кстати, по поводу Кормена. У кого-нибудь есть его электронная версия 1ого издания, в которой есть все рисунки, графики и т.п. и нормальными текстами псевдокода вместо латеховских символов ? Я сколько pdf этого издания не видел — все без рисунков и некоторые псевдокоды прямо латеховскими символами написаны. Понимания материала от этого не улучшается, скорее наоборот.

    PS: Покупать электронку на Ozon не предлагать :-)

    • »
      »
      »
      12 лет назад, # ^ |
      Rev. 3   Проголосовать: нравится +4 Проголосовать: не нравится

      Есть djvu в библиотеке Genesis (http://gen.lib.rus.ec/book/index.php?md5=0987E41A103B126BAC6C3F07C98DE7BB). А разве второе издание — не надмножество первого?

      • »
        »
        »
        »
        12 лет назад, # ^ |
          Проголосовать: нравится +11 Проголосовать: не нравится

        Не совсем. На всякий случай — самые "крупные" изменения (все же электронную версия второго издания в хорошем качестве найти намного проще, да и "твердый вариант" полегче граммов на 600 :)).

        Довольно заметно переделано "математическое введение" (часть вынесена в Приложения). Кроме того, из второго издания исчезли главы "Арифметические схемы", "Алгоритмы параллельных вычислений" и алгоритм Бойера-Мура из главы "Поиск подстрок". При этом добавилась глава "Линейное программирование" и раздел "Рандомизация и линейное программирование" в главе "Приближенные алгоритмы". Текст местами был переписан, и далеко не всегда это было "расширением". Ну и первый перевод на русский был выполнен издательством МЦНМО (научный редактор А. Шень), а второй — издательским домом "Вильямс" (под ред. И.В. Красикова).

        В третьем издании (по отношению ко второму) еще две главы заменили...

»
12 лет назад, # |
Rev. 2   Проголосовать: нравится -6 Проголосовать: не нравится

Мне понравились видео лекции на intuit.ru "Базовые алгоритмы для школьников" и "Продвинутые алгоритмы для школьников".

»
12 лет назад, # |
Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

IMHO, для начала [для выхода в 1й див.] вполне достаточно знания динамического программирования и поиска в ширину/в глубину на графах + (!)регулярное участие в контестах Codeforces (в т.ч. в виртуальных) + (!!)изучение разборов + (!!!)дорешивание. И вот если какой-то алгоритм для решения задачи окажется нужен, то его и смотеть на e-maxx.ru

UPD: Конечно же очень важно ещё быстро и правильно определять сложность придуманного алгоритма и соизмерять её с ограничениями задачи.
Минусующим: ну в чём же я не прав, поясните! :)

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится +11 Проголосовать: не нравится

    Ты прав, но недавно вышедшие из зелёнки бесятся когда зелёные начинают раздавать советы. Но скоро они туда снова попадут :)

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Если рассматривать выход в div.1 как основную цель, то все верно, но человек вроде спрашивал про школьные олимпиады, а в них довольно часто нужны и более сложные алгоритмы (т.к нередко попадаются идейно простые задачи, требующие умение писать стандартные структуры и алгоритмы (Дейкстра, бор, дерево отрезков и т.п.).

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

          Твёрдо уверен, что для победы на Областной олимпиаде (конечно,это не относится к Москве и Питеру) вполне можно не знать "стандартные" алгоритмы (кроме обходов графа и динамики). А вот отбор на ВсеРос/ВсеУкр без Дейкстры, дерева отрезков, ... уже не пройдёшь! Но ведь участие по ВсеРосе для топикстартера — явно задача не этого года...
          Кстати информация школьникам (только!) — как я понял алгоритмы "на строках" не входят в перечень рекомендуемых для межнаров, а потому на отборе из Украины задачи на строки не предлагались вовсе. Поправьте, если я не прав.

      • »
        »
        »
        »
        12 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится

        Попадание на Всерос очень сильно зависит от умения писать относительно простые вещи без багов (иногда даже сильнее, чем от знания алгоритмов и умения решать нетривиальные задачи). Поэтому не факт, что топикстатрер не может туда попасть в этом году.

      • »
        »
        »
        »
        12 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится

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

        • »
          »
          »
          »
          »
          12 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится

              Призёров области много, на ВсеРос едут из них немногие (не считая "IT-столиц"). Так что с противопоставлением всё в порядке.
              Точнее — в призы на области попадают те, кто уверенно решает 2-3-4 задачи (в зависимости от возраста) из 2го дива, а на всеРос/всеУкр едут те из них, кто может решать нестандартные "идейные" задачи.

      • »
        »
        »
        »
        12 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится

        Интересует ВКОШП в основном.

        • »
          »
          »
          »
          »
          12 лет назад, # ^ |
          Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

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

»
12 лет назад, # |
  Проголосовать: нравится -9 Проголосовать: не нравится

Решать таски!!!!!!!!!!!!!!!!!!!!!!!!!!!