[Logo] Форум DL
  [DL]  На главную страницу 
Индекс форума ->Олимпиадное программирование ->Методика подготовки к IOI 2007 - ... 1, 2, 3, ... 9, 10, 11, 12, 13, ... 16, 17, 18
Автор Сообщение
Слава Ермаков

Темы: 1
Сообщений: 12

Мой профиль
10 COCI 1:
Написал для 4 задачи брут(дп за куб) для поиска идей и дальнейшего тестирования. Написал нормальное решение в том же проекте что и брут для удобной проверки на рандомных тестах, все проверил. И когда переносил в новый проект полное решение (для отправки) забыл перенести сортировку(которая была в части с брутом), каким-то чудом на сэмплах оно зашло и я не задумываясь отправил.
Вывод: в конечной версии пару тестов сверить с брутом, а лучше (если позволяет время) написать батник.
Так же в одном месте написал ans=1e18 вместо ans=(1<<63)-1 (max signed long long)



Слава Ермаков:

нормальное решение в том же проекте что и брут для удобной проверки на рандомных тестах... все проверил.
... когда переносил в новый проект полное решение (для отправки) забыл перенести сортировку(которая была в части с брутом),
 
Михаил Долинский: рекомендую изменить ТЕХНОЛОГИЮ ПРОВЕРКИ.
После "всё проверил" должна быть ТОЛЬКО ОТСЫЛКА проверенного кода.
и никаких "ручных ковыряний", которые по сути требуют снова "всё проверить"


10 COCI 2
В 3 задаче не поставил ограничения т.к сильно спешил
В 5 не учел случаи

Михаил Долинский

Темы: 1984
Сообщений: 47242

Мой профиль
Общие идеи (c Codeforces)
Александр Кульков, Украина, Запорожье из организации МФТИ сделал
подборку идей, которые могут быть применены к достаточно большому классу задач.
Почитать - вдруг есть что-то полезное.

Educational rounds
Бирич, Гацуков, Ермаков, Костяной, Харрасов
– просматривают, выбирают интересные задачи: ДП, сложные структуры данных, графы, теория чисел, другое
(есть смысл по темам, один берёт ДП, другой, ССД, третий – графы, 4 – теория чисел, 5 - другое)
Систематизируют, думаем, что с ними дальше сделать
Варианты
- докладчик по теме рассказывает «теорию» для этих задач (предварительно подготовив конспект со ссылками)
- желающие сдают на Codeforces
- желающие ставят аналоги на DL – для последующих олимпиад
Слава Ермаков

Темы: 1
Сообщений: 12

Мой профиль
Ермаков - ССД
Костяной - Строковые структуры
Бирич - ДП
Гацуков - Графы
Харрасов - Теория чисел
Александр Цыганок

Темы: 0
Сообщений: 1

Мой профиль
Сегодня я получил: во второй задаче 18 баллов вместо 60, так как переводил строки в числа для сортировки, а надо было сортировать строки; в третьей задаче получил 16 баллов вместо 80, потому что надо было создать массив [1..26], запоминающий позиции всех символов, а не сортировать все символы в алфавитном порядке; в четвёртой задаче я получил 8 баллов вместо 80, т. к. нужно было не сортировать числа, а проходить по массиву и сравнивать числа и их позиции.
Владимир Великович

Темы: 2
Сообщений: 25

Мой профиль
COCI_2 2010
2) Переводил строки в числа для сортировки, надо было сортировать строки. Числа не вмещались в переменную.
3) Слетела по времени (разбираюсь почему, возможно ограничения)

COCI_3 2011
2) Не учитывал избирателей которые не попали на выборы но имели больше 5%.

COCI_4 2012
2) Была неполная идея, но даже не взяла даже тот бал на который рассчитана(Возможно из-за парных тестов)

СOCI_6 2012
2) Указал неверный размер массива.
3) Сортировал строки вместе с шарпами, но для ответа нужны были чистые. Результат неверный ответ.

COCI_5 2012
2) Неправильная идея(возможно неправильная реализация).

COCI_3 2010
4) Проверял решение перебором на максимальном тесте не проходила по времени. Поэтому написал другое решение, которое не взяло все баллы.

______________________
If you can dream it,you can achieve it...
Вадим Козлов

Темы: 0
Сообщений: 4

Мой профиль
COCI_3 2011
2) Невнимательно прочитал условие, программа выводила не все ответы (не учитывались те, кто набрал больше 5%, но не победил на выборах)
4) Неверная идея решения, не успел отладить, послал частичное решение.
COCI_4 2011
4) Придумал недостаточно большое количество тестов, ошибка в решении.
COCI_5 2012
2) Неверная реализация идеи
COCI_6 2012
3) Не учёл то, что нужно выводить только различные ответы.

COCI_4 2011
3) Изменил ограничения и переотправил решение, не протестировав его перед этим, в итоге число не влезло в тип и все тесты дали ошибку.
Алексей Ситников

Темы: 17
Сообщений: 112

Мой профиль
12 COCI 4
2 - (вначале написал правильное решение, но потом подумал, что отрезки не могут перекрываться. Из-за этого и слетело)

12 COCI 6
3 - (не учёл момент, что выражения не могут повторяться)

10 COCI 2
4 - (налажал с размерностью)
Я обычно перед тем как писать решение, рассчитываю асимптотику. Значение я всегда ставлю на автомате (100100 - 100500).
В итоге, вместо того, чтобы пересмотреть размерность, я перед отправкой убедился, что решение работает и отправил.
______________________
Жизнь - игра. Сюжет - так себе, но графика потрясающая.
Михаил Долинский

Темы: 1984
Сообщений: 47242

Мой профиль
Писать всё в одном сообщении - в верх сообщения.
Записи получатся в порядке, обратном хронологичекому.
Так удобнее и писать, и читать.

Ниже этого сообщения пишут только те, кто пишут в первый раз.
Все остальные кликают по ссылке на свою фамилию и РЕДАКТИРУЮТ своё единственное сообщение
(добавляют в начало)


Михаил Долинский:

Прежде всего это предлагается сделать потенциальным кандидатам на попадание на отбор к миру (в 10 лучших на республике):

11 кл: Ермаков, Гацуков, Бирич
9 кл: Костяной, Харрасов


Затем потенциальным кандидатам на поездку на республику
А также всем остальным участникам областной олимпиады, которые хотят бороться за ДИПЛОМЫ областной олимпиады.

11: Новиков
10: Хамичёнок, Козлов, Радченко, Сачковский Макаренко, Свиридков, Цыганок
9: Ситников, Коротков, Великович, Захаренко
8: Лосев
6: Горбатовский



Михаил Долинский, 28.12.2009:

Давайте учиться на своих и чужих ошибках.

Предлагаю ВСЕМ писать ПОДРОБНО в этой теме о тех случаях, когда ВЫ пишете полное решение, но не получаете полный балл по задаче.

И ОБЯЗАТЕЛЬНО - какой вывод Вы сделали, чтобы избежать подобных ошибок в дальнейшем. 


Результаты дорешивания задач сборов

Каждому, кто хочет добиться лучших результатов, нужно последовательно добиваться следующего:

1. Сдавать на полный балл задачи, для которых Вы придумали полное решение.
2. Делать 1. Как можно быстрее(без потери качества), чтобы оставалось больше времени на другие задачи.
3. Научиться В ОБЯЗАТЕЛЬНОМ ПОРЯДКЕ писать частичные решения для задач, полных решений которых Вы не знаете.
4. Изучать новую теорию, чтобы увеличивать круг задач, для которых вы можете придумывать полные решения.

Эта тема заведена в помощь выполнения пункта 1.

Как его добиться (получать полный балл, если придумали полное решение)

1. Писать медленнее, вдумчивее, чтобы понизить вероятность возникновения ошибки.
2. Перечитывать исходник перед "окончательным расставанием" с ним.
3. Качественно тестировать (использовать автоматическое тестирование с полной перепроверкой решения после каждого исправления),
по возможности (при наличии времени) использовать переборные решения для контроля полных решений.
4. АНАЛИЗИРОВАТЬ свои ошибки(и извлекать уроки), чтобы не допускать их повторения.

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

Темы: 121
Сообщений: 274

Мой профиль
Последние 2 контеста отрешал намного хуже, чем мог бы.
1-ый контест - не сдал 5 задачу полностью, хотя знал полное решение, и после окончания соревнования через несколько минут сдал задачу, поняв, в чем была ошибка. Почему не сдал на конетесте? Забыл, что работаю не просто с массивом, а с префиксными суммами, что в итоге привело к тому, что я неправильно их считал (а точнее не считал вовсе). Решением данной проблемы вижу 2 способа:
1) Тестирование решений с помощью bat-ников и brute-force решений, для этого нужно правильно рассчитывать время, с чем у меня на контесте возникли трудности.
2) Строить план решения задачи в тетради. Возможно, сделай я план, я не допустил бы столь досадной ошибки.

2-ой контест - не придумал 5 задачу, поэтому взялся за 6-ую, неправильно оценил свои силы и поэтому остался ни с чем. Решением этой проблемы также является способность рассчитывать время написания решения на задачу и, если не успеваешь, то написать более медленное решение, которое возьмет хоть какие-то баллы.

Теперь, исходя из выше сказанного, можно сделать вывод, что мне нужно учиться рассчитывать время. Обычно я придерживаюсь такой тактики:
30 минут - 1 час - придумываю хоть-какие-то решения на все задачи.
1-1,5 часа - пишу решения на самые простые задачи, решаю, за какую из сложных задач возьмусь.
2,5 часа - додумываю улучшенные решения на сложные задачи/пищу решения на сложные задачи.

Видимо, мне данная тактика не очень подходит тем, что я могу начать писать решение не до конца додумав его, не придумав контр-тесты. На олимпиаде планирую сначала написать простые задачи, и неполные решения на сложные, чтобы заработать хоть-какие-то баллы, затем думать полные решения на оставшиеся задачи, писать на них полные решения, тестировать их с ранее написанными медленными. Таким образом, я смогу гарантировать себе какие-то баллы по всем задачам и не буду сломя голову писать полные решения на сложные, без возможности оставить время на их тестирование. Да, возможно, по каким-то задачам я смогу набрать 60-80 баллов вместо 100, но это все-таки не 0 баллов.
Михаил Долинский

Темы: 1984
Сообщений: 47242

Мой профиль
Писать всё в одном сообщении - в верх сообщения.

Записи получатся в порядке, обратном хронологичекому.
Так удобнее и писать, и читать.

Начинаем сначала - оставшиеся в живых (кто пробился на республику)
- сначала анализ двух туров областной олимпиады
(обязательно указать сколько баллов мог/должен был взять и сколько взял)

11 кл: Ермаков, Бирич
9 кл: Костяной, Харрасов, Ситников

А затем в это своё сообщение с анализом добавить
СПИСОК - подмножество из ещё не дорешанных задач,
которые он считает полезным дорешать до республики
из тех задач, которые мы решали до области
COCI
ВКОШП: финал, полуфинал, Интернет-олимпиады

Ситникову также предстоит подключиться к занятиям по теории вместо Гацукова

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

ДО первых сборов и на первых сборах я планировал решать IOI задачи с 2017 года вниз 2016, 2015 ...
(2018 оставим для тех, кто пробъётся на сборы к миру)

Мои аргументы

1. Надо понять как далеко находитесь все от мира.
Слава был лучшим из 10-классников в прошлом году на сборах к миру.
Но, по словам Феди, очень далёк от медали IOI.
Посмотрим а теперь?

2. Нужно учиться решать сложные задачи или хотя бы брать максимум баллов "малой кровью"
(даже на области 3 и 4 задачи были сложными, на республике может быть ещё сложнее)

3. Готов обсуждать встречные предложения.


Михаил Долинский, 28.12.2009:

Давайте учиться на своих и чужих ошибках.

Предлагаю ВСЕМ писать ПОДРОБНО в этой теме о тех случаях, когда ВЫ пишете полное решение, но не получаете полный балл по задаче.

И ОБЯЗАТЕЛЬНО - какой вывод Вы сделали, чтобы избежать подобных ошибок в дальнейшем. 


Каждому, кто хочет добиться лучших результатов, нужно последовательно добиваться следующего:

1. Сдавать на полный балл задачи, для которых Вы придумали полное решение.
2. Делать 1. Как можно быстрее(без потери качества), чтобы оставалось больше времени на другие задачи.
3. Разработать технологию тестирования, гарантирующую поиск и устранение ошибок в полном решении.
4. Научиться В ОБЯЗАТЕЛЬНОМ ПОРЯДКЕ писать частичные решения для задач, полных решений которых Вы не знаете.
5. Изучать новую теорию, чтобы увеличивать круг задач, для которых вы можете придумывать полные решения.

Эта тема заведена в помощь выполнения пунктов 1-3.

Как его добиться (получать полный балл, если придумали полное решение)

1. Писать медленнее, вдумчивее, чтобы понизить вероятность возникновения ошибки.
2. Перечитывать исходник перед "окончательным расставанием" с ним.
3. Качественно тестировать (использовать автоматическое тестирование с полной перепроверкой решения после каждого исправления),
по возможности (при наличии времени) использовать переборные решения для контроля полных решений.
4. АНАЛИЗИРОВАТЬ свои ошибки(и извлекать уроки), чтобы не допускать их повторения.
Андрей Костяной

Темы: 121
Сообщений: 274

Мой профиль
Разбор 2-ух туров областной:
1 день:
1) 100;
2) 100;
3) 26 (знал решение на 40, должен был на 100, ибо просто задача на реализацию);
4) 30 (знал решение на 100, писал на 60, но т.к. писал в последний час не смог соптимизировать расходы по памяти);
2 день:
1) 100;
2) 52 (писал на 60, должен был на 100, ибо обычная задача в которой нужно было использовать св-ва делителей);
3) 14 (писал на 100, решение абсолютно совпадает с идеей решения в разборе);
4) 53,83 (писал на столько, должен был на 100, ибо задача сводилась к задаче о коммивояжере, которую я решал, и, что важно, я на олимпиаде шел по пути к решению данной задачи, но почему-то остановился на половине пути и начал писать решение не за n*2^n, а за n!, хотя зная о данном методе очень легко перейти от n! к n*2^n)

Итого: Должен был получить 800, знал на 653,83 на олимпиаде, получил 475,83.
Александр Бирич

Темы: 10
Сообщений: 24

Мой профиль
первый день
1. 100
2. 92 - не правильная идея, думал, что не важно с какого элемента начинать, а оказалось важно.
3. 6 - вместо того, чтобы писать частично решил написать жадно.
4. 0 - писал на 60, но где-то ошибся в коде.
второй день
1. 96 - не учёл два случая, про них написано в разборе.
2. 60 - написал первое, что пришло в голову, чтобы перейти к следующим задачам.
3. 60 - писал полное решение, но сортировал с хэшами и дихотомией, окозалось долго, надо было просто сортировать без компаратора.
4. 30 - где-то полтора часа неправильно понимал условие, после того, как скинул писало WA, я не понимал почему, пытался разобраться, в итоге просто вывел просто сумму строк без жадных алгоритмов.
Алексей Ситников

Темы: 17
Сообщений: 112

Мой профиль
Область 2019
1_1 : 100/100
1_2 : 92/100 - должен был брать 100 баллов. Идея была такой, что мы ставим перегородку в начале и симулируем процесс. Но я не учёл тот момент, что мы можем эту первую перегородку убрать (когда дошли до конца массива, мы переходим в начало. Соответственно, мы можем продлить нашу комнату. И я этого не учёл).
1_3 : мог взять хотя бы 20-40 баллов, но я не до конца понял условие.
1_4 : идею не придумал.

2_1 : 96/100 - не учёл случай, когда N=1 или M=1
2_2 : не придумал идею
2_3 : 60/100 - я рассчитывал, что получу max 40 баллов (потому что могло слететь по памяти).

Дорешать до республики:
12_COCI_5 - 6.POPLOCAVANJE (suffix array, Aho-Corasick tree, sweepline) (+)
ВКОШП: Финал (по поводу тем я не уверен)
C. Новогодние праздники (жадник)
E. Конный спорт (графы)
F. Как узнать свои баллы
K. Расширение сознания вправо (строки)

______________________
Жизнь - игра. Сюжет - так себе, но графика потрясающая.
Слава Ермаков

Темы: 1
Сообщений: 12

Мой профиль
Областная олимпиада:
в обоих днях первая задача не на полный балл(минус 28 баллов в сумме)
Надо было нормально тестировать несмотря на то что это самая легкая задача
0 баллов по 3 задаче 1 дня,потратил много времени на 4 и под конец олимпиады не успел
Антон Харрасов

Темы: 6
Сообщений: 35

Мой профиль
3 этап 2019

1_1 80* упало из-за границ дихотомии, поставил 1e6 вместо 1e9
1_2 92 недочёт в идее
1_3 30* упало из-за тупой ошибки (плохо считал компоненты связности, не учитывая пустые плитки)
1_4 60 так и задумывалось
2_1 100*
2_2 78 до сотки не хватило простенькой оптимизации ДП
2_3 100*
2_4 50.75 косой жадник, вместо которого можно было написать дп по битмаскам на фулл за O(2^N*N^2) и брут за O(N!) на первые тесты

* идеи на 100 баллов
 
Индекс форума ->Олимпиадное программирование ->Методика подготовки к IOI 2007 - ... 1, 2, 3, ... 9, 10, 11, 12, 13, ... 16, 17, 18
Time:0,052