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

Автор dened, 15 лет назад, По-русски
Краткая предыстория. В одном из блогов завязалось серьезное обсуждение о мотивации в спортивном программировании. SkidanovAlex высказал свое мнение (не знаю, насколько искреннее и серьезное), что: "От олимпиадного программирования нет пользы кроме медали :о)". Я ему кратко ответил, что я не получал медалей, но получил от СП огромную пользу в саморазвитии, и что считаю это намного важнее любых медалей. Он в свою очередь закономерно спросил, какую конкретно пользу я получил. Хотел ответить там же, но ответ получился немного великоватым, и в комментарий бы, скорее всего, не влез, так что решил выделить его в отдельный блог-пост. А вот сам ответ:

Если в общем, то спортивное программирование помогло мне в заметной степени дисциплинировать свой ум, что я считаю очень полезным достижением.

А если подробнее, то вот какие явные плюсы занятия СП мне пришли в голову (наверняка многое упустил из виду, может кто-то что-то добавит):
  • развивает умение понимать суть проблемы;
  • развивает умение сводить сложную проблему к нескольким более простым проблемам;
  • вырабатывает способность и привычку находить более простое/эффективное/красивое решение проблемы;
  • вырабатывает привычку доказывать эффективность решения перед его реализацией, ибо методика "авось сработает" обычно приводит к плачевным результатам;
  • развивает способность решать проблему быстро, но не спеша;
  • развивает способность удерживать в уме сложные схемы объектов и связей;
  • развивает способность длительной концентрации внимания на проблеме, требующей решения;
  • развивает способность быстрого переключения внимания с одной проблемы на другую;
  • развивает память, ведь требуется помнить не мало алгоритмов, теорем, приемов;
  • помогает через системы рейтингов более-менее объективно оценивать свой уровень подготовки и эффективность тренировок;
  • помогает отказаться от привычки доверяться обманчивым ощущениям (некоторые ошибочно называют это "интуицией"), а доверять исключительно разуму и здравому смыслу (я убежден, что только через него и может проявляться настоящая интуиция).
Большинство этих навыкав неоценимо полезны не только в программировании. Если подытожить, то можно сказать, что СП помогает в решении многих жизненных проблем, обогащает внутренний мир и способствует более реалистичному восприятию мира. Во как загнул! :) но думаю, что нисколько не преувеличил. Конечно, наверно, есть и другие способы достичь похожих результатов, но для меня СП оказалось одним из самых эффективных.
  • Проголосовать: нравится
  • +22
  • Проголосовать: не нравится

15 лет назад, # |
  Проголосовать: нравится +9 Проголосовать: не нравится
Александр там явно впадал в крайности
Почему единственная польза это медаль, давайте уж тогда польза только от абсолютного чемпионства:)
На самом деле понятно, что если ты крутой олимпиадник это еще не значит что ты так же круто разрабатываешь промышленный софт.
Главное же что это интересно.
Если рассуждать пессимистично, то например какая польза от того что люди играют в шахматы или занимаются киберспортом или вообще любым видом спорта тратя огромное количество времени.

В спортивном программировании не меньше пользы чем от шахмат я думаю никто спорить не будет)
То что те методы, которые тут применяются  совсем не находят применения на практике тоже не так. В некоторых областях есть и даже довольно часто. Помню на прошлом полуфинале Роман Елизаров как раз и говорил что ему приходится сталкиваться при разработке ПО

Дак и наверняка Александр не жалеет что занимался этим 5 лет.
Разве бы променял он финалы ACM, онсайты топкодера и гуглоджема на что-то другое))

Еще в качестве плюсов от себя могу добавить что так как часть соревнований проходит на английском языке то волей неволей скорость чтения английского текста почти сравнивается с русским))
  • 15 лет назад, # ^ |
      Проголосовать: нравится +4 Проголосовать: не нравится
    "Почему единственная польза это медаль, давайте уж тогда польза только от абсолютного чемпионства:)"

    Как почему? Потому что медаль у Скиданова есть.:) Стал бы он чемпионом - говорил бы только об этой цели, а все остальные считал бы ерундой.
  • 15 лет назад, # ^ |
      Проголосовать: нравится +1 Проголосовать: не нравится
    Я не жалею что этим занимался, и я вижу некоторые плюсы.
    Например, я очень хорошо понимаю чужой код. И я легко вижу ошибки в логике работы программы. Потому что много читал решения на топкодере других участников.
    И, самое главное, мне это просто интересно. Я люблю решать задачи, мне нравится соревновательный дух. И то количество мест, которые я посетил, я бы не посетил без СП. Даже не только по финансовой причине - я бы просто не поехал туда. А тем временем побывал я в многих интересных местах.

    Тут надо определить вообще проблему. Мой изначальный коментарий был про ситуацию, когда человек хочет сагитировать ребят готовиться к полуфиналу. Значит, он хочет чтобы они посвящали много времени. Соответственно я спросил - как он может мотивировать трату огромного количества времени на это. Потому что с моей точки зрения это не оптимально. Мне было интересно в чем мотивация.

    Если рассмотреть другие ситуации - СП как хобби. Если тратить на это пол часа в день, это никак не мешает. И это дает все бонусы, перечисленные в первом посте (хотя они очень абстрактные - их можно за уши притянуть к чему угодно). Смысл впадать в крайности и готовиться по много часов в неделю тогда? Получается, что только регалии :о) Пусть не медалька, но поездка на финал.

    Другой вопрос о рассматриваемом сценарии: а с кем мы сравниваем? Часто сравнивают с своими сокурсниками. А сокурсники чаще всего два месяца в году готовятся к сессии, а 10 месяцев в году бухают и девчонок тискают. Ну тут уж удивительно, как это вышло, что мы их лучше можем закодячить какую-то фигню  :о)
    А те, кто в это время уже чем-то занимаются, допустим с первого курса ушли в какой-нить местный епам, они может не будут хуже писать дийкстру, но по совокупности их опыт будет не хуже вашего. Как-то так.

    А в крайности я специально бросаюсь, чтобы пробудить более интенсивное обсуждение :о)
    • 15 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Не, я согласен насчет того, что если это неинтересно - то заниматься СП  нет никакого смысла. Лучше тратить время на то, что интересно ( и не менее полезно).
      Но это в теории. А на практике, человек не может понять интересно ему это пока не попробует. А чтобы он попробовал, уже нужно как-то стимулировать.
      Заниматься же СП из соображений "мне это пригодится для будущей работы", не получая кайфа при этом - что-то  я таких мазохистов не встречал.
    • 15 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      >> А те, кто в это время уже чем-то занимаются, допустим с первого курса ушли в какой-нить местный епам, они может не будут хуже писать дийкстру, но по совокупности их опыт будет не хуже вашего. Как-то так.

      Опыт чего у них будет не хуже? И хотят ли этим же заниматься олимпиадники?
    • 14 лет назад, # ^ |
        Проголосовать: нравится +1 Проголосовать: не нравится
      Только сейчас прочитала эти темы про медали и пользу олимпиад. Тоже хочу высказать некоторые соображения, только не знаю, куда их лучше приткнуть. Наверное, сюда.

      Действительно, медаль на финале ACM ICPC получить непросто. Медали достаются весьма небольшому проценту людей, участвующих в олимпиадном движении. Я около 7 лет тесно связана с саратовским ЦОППом и видела там много людей, которые участвуют в олимпиадах и интенсивно тренируются. Понятное дело, что многие из них изначально не имеют шансов даже пройти в финал. Хотя, конечно, плох тот солдат, который не мечтает стать генералом (хотя бы на codeforces:).

      Но почему обязательно финал? У нас проводится много соревнований различного уровня. Выход в полуфинал, например, является для многих более достижимой целью, к которой они готовы стремиться, подолгу тренироваться, и в конце концов эти люди добиваются своего. Есть соревнования, не связанные напрямую с ACM ICPC, такие как Открытый Кубок, Всесибирская олимпиада, олимпиада в Казани и т.д. У кого трудности с командой - можно участвовать в личных соревнованиях: TCO, Google Codejam (правда, сейчас очень трудно пройти в онсайт и что-то выиграть, но так было не всегда), Воронежская олимпиада, контесты на snarknews и т.д. В некоторых вузах проводятся и более локальные соревнования (например, у нас в городе традиционно проводится межвузовская личная олимпиада). Некоторые соревнования проходят в двух секциях (дивизионах), чтобы и начинающие участники не теряли интерес. Про школьников отдельный разговор. У них тоже целая система олимпиад, некоторые из которых даже дают льготы при поступлении. 

      Участие в соревнованиях российского, регионального и городского уровня, а тем более какие-то призовые места уже помогают обратить на себя внимание работодателей. Конечно, не таких, как Microsoft. Многим из ребят, занимавшихся в ЦОППе, участие в олимпиадах помогло устроится на работу в местных фирмах. 

      Иначе говоря, награды в любых соревнованиях играют примерно ту же роль, что и медаль на финале, только более локально. У всех разная планка. Но нужно ставить перед собой цели и добиваться их. 


15 лет назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится
Я думаю, что все эти споры о неопределенном объекте "польза" особого смысла не имеют. Вопрос ведь философский. Ни о какой объективной пользе речь идти не может. Каждый для себя в праве решать было что-то для него полезно или нет.

Аргументы вроде: я занимался делом X и благодаря этому у меня есть Y не проходят, потому что никто не знает что было бы, если бы я не занимался X а потратил время на Z. Вполне возможно, что это было бы выгоднее (в смысле той выгоды, которой мы оценивали Y).
  • 15 лет назад, # ^ |
      Проголосовать: нравится +5 Проголосовать: не нравится
    Я могу просто сказать, что я занимался X и это дало мне Y, но я не спорю и не сомневаюсь в том, что может существовать Z, которое окажется выгоднее для Y. Проблема в том, что я пока не знаю Z. Но я знаю, что может дать X для Y, и поделился этим. И если кому-то тоже нужен Y, то моя информация может послужить им мотивом для занятия X. :)
    • 15 лет назад, # ^ |
        Проголосовать: нравится +1 Проголосовать: не нравится
      >Я могу просто сказать, что я занимался X и это дало мне Y...

      Сказать так можно, но это тоже необоснованно, ведь тот факт, что Y у вас появился хронологически после занятий X не означает, что Y появился именно в следствие занятий X. Может просто совпадение, а может вы еще занимались чем-то кроме X и это, незаметно для вас, развило Y. И, более того, даже если вы правы и действительно X вам дало Y, то можно ли из этого делать вывод, что и остальным X даст Y?

      Например, один из ваших пунктов говорит о развитии памяти. Лично у меня память очень плохая, а я ведь занимаюсь СП. Как же так? Еще, у меня есть брат, который никогда в жизни никакими олимпиадами не занимался, но память у него просто в разы лучше моей. Еще один пример - это счет в уме. Я с большим трудом считаю в уме, несмотря на то, что большую часть жизни имею тестное отношение к математике и различным вычислениям. Почему так?

      Тут все очень индивидуально, мне кажется.
      • 15 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        >Лично у меня память очень плохая, а я ведь занимаюсь СП.

        ну не нужно скромничать))
        суффиксные массивы, минкост и еще кучу алгоритмов же по памяти пишешь)
        • 15 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится
          Может и по памяти... Но я не помню когда я в последний раз все это делал :)
15 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Обратите внимание, что как только вы прекращаете тренировки, ваш уровень падает. Я тренировался до финала - который был в апреле 2008. Затем я сразу прекратил. Теперь отройте мой график на топкодере и попробуйте найти интересную закономерность, связанную с весной 2008 года :о)

В чем я вижу проблемы? Я все еще могу закодячить алгоритм, который передо мной встает. Но теперь мне гораздо сложнее понять, с какой стороны вообще подойти к задаче. Скилы падают, если их не поддерживать, а поддерживать постоянно их нельзя.

  • 15 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Это вообще к чему?
    А если будешь не ходить в тренажерный зал месяцами - результаты тоже снизятся. И что теперь, и не начинать?
  • 15 лет назад, # ^ |
      Проголосовать: нравится +3 Проголосовать: не нравится
    А что же было с мая по июнь 2007го?
    • 15 лет назад, # ^ |
        Проголосовать: нравится +3 Проголосовать: не нравится
      В мае 2007 я по рекламке перешел на сайт одной онлайн игры... Если у вас есть друзья,которые играют в линейку или вов, вы должны знать, что это такое :о)
      В начале июля я познакомился с девушкой, которая позже стала моей супругой, и там уже как бы на игру стало пофигу :о)

      Черт, по графику топкодера можно отследить историю человека :о) Интересно, у других людей экстремумы  соответствуют каким-то событиям :о
15 лет назад, # |
  Проголосовать: нравится +2 Проголосовать: не нравится
Для школьника который занял место на РОИ море пользы:-)