Документы, планы развития

Планы развития

Результаты прошедшего полуфинала показали, что команда YH (пусть даже и не в полном составе) не готова к серьёзным соревнованиям.

Первое, что нужно запостулировать в наших целях - это стремление эти самые соревнования выигрывать. Не меньше. Спорт становится полупрофессиональным (всем же ещё и учиться надо), поэтому либо мы тратим время и работаем по полной программе, либо просто перестаём играть, чтобы не терять зря времени.

Этот документ описывает упомянутую выше полную программу. Он ещё не претендует на завершённость, но в будущем должен стать главным программным документом YH.

Принципы

  1. Общее алгоритмическое развитие команды. Каждый должен уметь кодировать всё, причём в максимальной для него возможной степени виртуозно. Время чисто технических задач на какой-либо один алгоритм уже прошло, да и алгоритмы ранее казавшиеся сложными, на нынешнем уровне развития всего ACM движения уже не являются чем-то особенным.
  2. Общее прикладное развитие. Каждый должен как можно лучше знать английский язык и уметь быстро и с пониманием читать тексты на нём. Быстрая печать (не обязательно слепая) тоже необходима. Все эти навыки позволяют выигрывать от 20 минут до 1 часа, что бывает очень критично.
  3. Общее техническое развитие. Каждый должен уметь справляться со сложным вводом-выводом, с техническими задачами. Код при этом должен быть максимально прост и понятен не только самому программисту, но и его партнёрам.
  4. Одинаковое программирование. Весь код у всех участников команды в идеале должен быть абсолютно одинаковым, причём как можно более оптимальным.
  5. Большой кругозор. Каждый должен знать не только все нужные алгоритмы, но и большое число задач, причём не только из олимпиадной информатики, но и математики также. Причём не просто задач, но и решений. Такой кругозор формирует очень полезную в олимпиадных делах интуицию.

Все эти принципы имеют два общих места: команда должна быть единой и всё в ней должно быть единообразным, и команда должна вся состоять если и не из звёзд, то, по крайней мере, достаточно ярких звёздочек.

Будем считать, что такой уровень для нас достижим, и как раз его мы и будем достигать.

Методы

  1. Для алгоритмического развития команды нужно проводить семинары с разбором алгоритмов. Доказательства обязательны. Разбор различных случаев и применений обязателен. Разбор типичных задач обязателен. Желателен подбор некоторого числа задач для самостоятельного решения. Очень неплохо самим придумывать сложные задачи на этот алгоритм. Есть шансы, что хорошая идея повторится на официальных соревнованиях.
  2. Прикладное развитие пока оставляется на собственное усмотрение участников.
  3. Общее техническое развитие. Большое количество личных технических задач. Последующий разбор задач всей командой и выработка общего метода решения (структуры данных, структура программы, выделение отдельных методов и приёмов) класса близких задач. Все следующие похожие задачи должны решаться оптимально.
  4. Одинаковое программирование. Разбор кода каждого участника всей командой. Выработка общей концепции решения задачи и написание этого решения каждым участником с последующим контрольным сравниванием. Выработка общего метода написания каждого алгоритма.
  5. Большой кругозор. Достаточное число тренировок и самостоятельное решение задач с judge'ей. Возможно курс семинаров по олимпиадной математике.

Программа выглядит достаточно тяжело, но, будем надеяться, что её выполнение окупится победами и поездками в финал.

Hosted by uCoz