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

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

Мой профиль
1. Не контролировал выделение памяти под массивы.
Пример - beauty-row (Превысил допустимый размер массива в 2 раза. Как следствие, потерял 40 баллов на полном решении)
Вывод: считать память в процессе работы программы. Вывод размера какого то обьекта в кб делается так -
writeln(sizeof(value) / 1024 : 0 : 0);


2. Не внимательно читал условие, пытался понять идею задачи в основном по тесту.
Вывод: вначале читать условие, оценивать тесты, писать свои тесты, лишь потом писать наивное решение, и если будет еще время - думать над полным

3. В некоторых случаях игнорировал наивное решение на полный балл, и пытался применить недопустимую теорию.
Пример - ordering-train (Начал писать дерево отрезков, хотя очевидным был обычный перебор. Потерял 90 баллов)
Вывод: не бросаться на решение, которое неприменимо.

4. Неправильно оценил распределение времени на олимпиаде
Пример - t9 (Писал решение под конец олимпиады, не успел отладить. Итог - потерял на переборе 10 баллов)
Вывод: контролировать время во время олимпиады

5. Рассчитывал, чо тесты будут разумные.
Пример - последние две олимпиады сборов (Рассчитывал , что тесты будут не сильно большими. Если в условии сказано, что 30% тестов n < 1000, то мое решение возьмет 30 баллов. А это не так. Мне кажется, на это рассчитывали все)
Вывод: быть готовым ко всем форс-мажорам

6. Нельзя долго сидеть над задачей - можно ухудшить результат
Пример - mosauc (Первая посылка на 41 балл, последняя на 27 - только ухудшил результат, потерял 14 балллов)
Вывод: каждую новую версию решения проверять на ВСЕХ своих тестах

7.Проверять программу на наличие опечаток и глупых ошибок
Пример - kingwalk (Не учел, что ответом может быть 0, и инициализировал матрицу нулями. Нужно было забить -1)
Вывод: перед отправкой перечитывать свой код и тестировать на различных тестах

8. Допускал вольности в написании алгоритмов
Пример - qsort (присваивать медиане k = (l + r) div 2 вместо k = a[(l + r) div 2] было не весьма хорошей идеей)
Вывод: проверенный алгоритм писать так как он есть, без модификаций, если не уверен , что эта модификация не повлияет на результат

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

Вывод: оставшийся месяц потратить на изучение новых теорий, оттачивания своего мастерства, участвовать в различных on-line олимпиадах, типа Codeforces и Usaco, чтоб видеть, как обстоят дела с саморазвитием.
Читать по возможности какие - то книги. Читаю книгу Котова "Алгоритмы и структуры данных", в ней есть много упражнений, их полезно прорешать , благо они интересные. Некоторые из заданий взяты с DL (Возможно в другой формулировке), поэтому их можно прорешать тут. Порешать задачи "Для книги" в Методах Алгоритмизации. Почитать документацию по языку, который используется на контестах - можно почерпнуть новые знания. Обязательно дорешивать и спрашивать других по определенным задачам.
Михаил Долинский

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

Мой профиль


Дмитрий Демидко:

1. После написания программы, для удобства отладки, изменил размер выделяемой памяти(a[100000]-a[100]; ansistring-string;byte-longint),
но после отладки не исправил;
Вывод: до изменения пометить эти места, чтобы после вернуть обратно; до отправки выделить время 3-5 минут и внимательно просмотреть код на предмет
описок. 
А еще есть условная компиляция для решения подобных проблем.
Пока отлаживаешься - специальная переменная указывает, что это отладочная версия.
Перед отсылкой на тестирование меняешь только ЗНАЧЕНИЕ этой переменной - и на тестирование уходит боевая версия.
Кстати, полезно ПЕРЕД отсылкой ПАКЕТНО потестировать (на всех подготовленных за контест тестах, в том числе и макс-тестах) боевую версию.

А еще хорошо бы научиться автоматически (и малой кровью) сверять результаты "наивного"(правильного, но медленного) решения с боевым решением на ПОЛНОМ МНОЖЕСТВЕ автоматически генерируемых тестов.

Это позволит найти множество (?все) алгоритмических ошибок/описок/неточностей в боевом решении.
Федор Коробейников

Темы: 46
Сообщений: 162

Мой профиль
Задача С Дорешаю напишу.
Задача D Слишком маленькие диапазон перебора
Задача E Дорешаю напишу.
Задача F Дорешаю напишу.
______________________
Work hard and win a prize
Дмитрий Демидко

Темы: 20
Сообщений: 52

Мой профиль
E. Неправильно понял фразу из условия, хотя неоднозначности там нет(многие сдали).
F. Неправильно реализован ввод, нужно было использовать ввод строками(не символами).
Дорешать: С,F
Владислав Мосько

Темы: 20
Сообщений: 68

Мой профиль
Московская олимпиада для 10-11 классов (2012)
A : Ошибка в реализации, не тестировал старательно.
В : 100
D : Медленное решение, плохо потестировал.
F : RTE1, причина неизвестна.
G : Мелкая ошибка, невнимательность.
Дорешать : A, D, F, G, E.
Ольга Скидан

Темы: 3
Сообщений: 31

Мой профиль
Московская-2011
B Решала 2 часа, так как усложнила себя задачу. В итоге, не сдала.
C Не решала, сложная.
E Ошибка в реализации.
F,G Не думала.
Дорешать : B,F,G,E.
______________________
If you tell the truth you don't have to remember anything
Дмитрий Фисько

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

Мой профиль
Московская 2011
Неправильно распределил время на решения. Слишком много потратил на задачу E.
Федор Коробейников

Темы: 46
Сообщений: 162

Мой профиль
B - неправильно придумал.
F - не учёл совпадения.
G - суфф масс дал TLE. надо было писать z-функцию.
Разобрать алгоритм дюваля.
______________________
Work hard and win a prize
Владислав Мосько

Темы: 20
Сообщений: 68

Мой профиль
3-й этап Республиканской олимпиады -- Казахстан, 2013
A : не учел одну ситуацию.
B : неверная идея.
C : не хватило времени написать на 100.
D : не придумал на 100.
E : 100
F : не придумал на 100.
G : не придумал на 100.
H : не было идей.
Дорешать : все.
Теория : Z-функция.
Ольга Скидан

Темы: 3
Сообщений: 31

Мой профиль
3-й этан Республиканской олимпиады по информатике 2013 Казахстан.
Мало думала над C,F.
Не учла частные случаи + ошибки в реализации в B,E.
Дорешать : все.
Дорешала 3 из 4 обещенных.
______________________
If you tell the truth you don't have to remember anything
Валерий Захаренко

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

Мой профиль
A: не учёл один вариант
B: не учёл один вариант
C: не придумал полное решение, написал заглушку
D: не понял условие полностью
E: не придумал полное решение, написал заглушку
F: так и не понял, почему моё решение не проходит
G: не придумал полное решение, написал заглушку
Дорешаю A,B,G,F
Дмитрий Демидко

Темы: 20
Сообщений: 52

Мой профиль
3-й этан Республиканской олимпиады по информатике 2012 Казахстан.
D. не придумал.
H. проблемы с точностью(нужно разобраться).
Д/з : D,H

Федор Коробейников

Темы: 46
Сообщений: 162

Мой профиль
Решали Казахстан 2012 рег.
A - не cчитал ответ.
B - точность
D - не придумал
F - напишу когда узнаю
G - нужна длиннка
H - точность
______________________
Work hard and win a prize
Владислав Мосько

Темы: 20
Сообщений: 68

Мой профиль
Казахтанская региональная 2012
A : не учел один параметр в сортировке
B : не писал
C : 100
D : падало по времени, чуть больше двух секунд (маленький TL?)
E : 100
F : кривые руки
G : не учел, что ответ может превышать int64; нал решение за n^2, но написал за (n^2)*logn, думая, что пройдет.
H : ?
Д/З
С прошлого раза: Теория: разобрал. Дорешал 5 из 8.
На этот раз: Теория: научиться ставить eps. Дорешать все, кроме В.

Ольга Скидан

Темы: 3
Сообщений: 31

Мой профиль
Казахстан 2012.
В А не учла,что ответ должен быть минимальеым.
В Н проблема с точностью.
В F ошибка в реализации.
D,G не придумала.
Дореашть : долг с прошлых олимпиад(5 задач) + все.
______________________
If you tell the truth you don't have to remember anything
 
Индекс форума ->Олимпиадное программирование ->Методика подготовки к IOI 2007 - ... 1, 2, 3, 4, 5, ... 16, 17, 18
Time:0,04