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

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

Я из города Красноярска, в городе есть несколько хороших тренеров по спортивному программированию, но они тренирует только школьников и опыта в тренировке студентов у них нет, а я уже студент и мне хочет от вас совета как с большей пользой тренироваться, конечно подход к тренировкам индивидуальный, но если кто-нибудь посоветует хотя бы хорошую книгу или хороший сайт, то и на том большое спасибо!

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

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

Что почитать(книги)

Что почитать(сайт)

Ну и решайте, решайте решайте задачи с Online Judge.

Рейтинг задач acm.timus.ru по версии Федора Меньшикова (очень рекомендуется для новичков, обновляется раз в год) 


  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Спасибо, OSt! 

  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Хм, а разве после появления "сложности задач" на тимусе, этим рейтингом сейчас кто-то пользуется?
13 лет назад, # |
Rev. 3   Проголосовать: нравится +1 Проголосовать: не нравится

Рекомендую также SPOJ, USACO Training, следует писать и COCI (проходит раз в месяц). Ну и наконец сам CodeForces. Если решать задачи регулярно, то через некоторое время все уляжется в голове... 

UPD: Ну, а если нужен алгоритм советую гуглить, либо воспользоваться сайтом e-maxx

  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Спасибо, alex.alex! 
    Про  USACO Training и COCI, еще нигде не слышал, так что непременно попробую! 


    • 13 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Кстати советую пройти именно  USACO Training, так как там тоже много теории, и задач на разные темы (начиная с наипростеших, заканчивая сложными). Теорию читай обязательно ;)
13 лет назад, # |
  Проголосовать: нравится +11 Проголосовать: не нравится
Для начала Кормен, потом e-maxx, Шень, Меньшиков + геома Андреевой. По началу можно решать Тимус, acmp. Участвовать как можно чаще в соревнованиях Topcoder, Codeforces. Писать Опенкап, тренировки neerc. Очень важно прорешивать именно 5 часовые контесты. Читать разборы, готовые решения, черпать новые идеи, обкатывать теорию. Ну и самое главное - упорство, без него ты не вырастешь.
  • 13 лет назад, # ^ |
      Проголосовать: нравится +1 Проголосовать: не нравится
    Спасибо, Jokser! 
    Всеми советами воспользуюсь! Только вот опенкап, у нас в городе пока не проводится, хотя, возможно, в скором времени будет!
    • 13 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Мое мнение - решать лучше все таки контестами, а не из архива. Я помню, как прорешал 500 задач с тимуса и толку было гораздо меньше, чем постоянное решение контестов. Был сервер http://acm.tju.edu.cn/ - там можно было ставить виртуалы себе. И по началу рекомендую решать что-нибудь типа Greater New York и тому подобное
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    у тебя случайно нет ссылки на "геома Андреевой" ?
13 лет назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится
Как я уже говорил (тема эта тут всплывает по меньшей мере третий раз), эффективный способ -- это написать простенькую систему имитации контестов (что не должно быть сложно для программиста, правильно? потом эта система, как показывает опыт, отлично защищается как бакалаврский диплом) -- буквально чтобы она компилировала и запускала задачи, и показывала что-то типа монитора, потом качать задачки с тестами с американских полуфиналов сначала, с польских полуфиналов, потом школьные олимпиады, и нарешивать их.
Решать с тимуса лично я не советую. Имхо, это почти пустая трата времени.

Еще ахмед али публиковал тут ссылку на свой новый сервис -- по-моему это что-то как раз похожее. Советую обратить внимание тоже.

  • 13 лет назад, # ^ |
      Проголосовать: нравится +3 Проголосовать: не нравится
    Про Тимус - не знаю, я решал, помогало. Условия были такие:
    1) Сдавать задачи по сложности и последние вне зависимости от сложности. Сложности тогда не было, эвристически оценивал.
    2) Периодически допустимо "лень кодить, боян, не интересно."
    3) Пытаться решить самому. Не искать готовое, пока не возникло ощущение, что не знаешь что-то стандартное.
    4) Не пытаться решать ужасно сложные задачи.
    5) Начинать писать решение, когда на 100% знаешь, что писать. (т.е. заранее продумать реализацию).
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    почему именно с американских и польских полуфиналов, а не каких-либо других? или это просто пример?
    • 13 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      IMHO, другие в основном не заморачиваются выкладыванием тестов и решений/разборов

      Плюс американских куча и они в большинстве довольно простые (порой бывает, что команд 5-10 решает все и выходящие определяются по штрафному времени).
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Наверно, с появлением http://acm-server.ru/ необходимость самостоятельного написания такой системы и поиска готовых комплектов с тестами отпала. (Если, конечно, не требуется по ней потом защищать бакалаврский диплом =) )
    Cервис http://ahmed-aly.com/voc/ делает по сути то же самое. Кроме того, он предоставляет побольше статистики. Правда сдавать задачи в ней во время контеста надо в интерфейсе online judge, (в acm-server - все в едином интерфейсе), кроме того, я пока не понял по какому принципу сортируются задачи в контесте (одни раз они были в порядке добавления и один раз - по сложности) и как этот порядок менять
13 лет назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится

Я считаю, что этот сайт неплох)

Из книг - Кормен, Sienna

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

    Спасибо большое всем кто ответил:-) 


    Izot_NNSTU, да этот сайт дествительно хорош! Кормена уже читаю. А вот Sienna что это такое? В поиске вбил, но ничего путнего не нашел.