[Logo] Форум DL
  [DL]  На главную страницу 
Индекс форума ->Олимпиадное программирование ->Методика подготовки к IOI 2007 - ...
Автор Сообщение
Михаил Долинский

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

Мой профиль
Следующая областная олимпиада состоится в январе 2022 года

В областной 2021 года (кроме тех, кто прошёл на республику и нынешних 11-классников) участвовали
22. Подгорный Артём       10 кл   - д3
26. Брель Михаил           6      - д3
31. Ермаков Виталий        7
32. Мюллер Марк            9  
33. Сафонов Иван           8
34. Бут-Гусаим Дмитрий     9
37. Бобченок Максим        9
41. Бортенко Владислав    10
45. Кудянов Эдуард         9 
46. Прокопенко Анастасия  10
53. Кадушко Ростислав      9
54. Иванов Александр       6
55. Бавин Матвей           6 



А если вычеркнуть 11 классников, (делая прогноз на олимпиаду 2022) получаем такие номера

12. Подгорный Артём Васильевич	     
15. Брель Михаил Валерьевич          

17. Ермаков Виталий Сергеевич	
18. Мюллер Марк Хорстович	
19. Сафонов Иван Александрович	
20. Бут-Гусаим Дмитрий Алексеевич
22. Бобченок Максим Павлович	
25. Бортенко Владислав Владимирович

29. Кудянов Эдуард Александрович
30. Прокопенко Анастасия Сергеевна
36. Кадушко Ростислав Андреевич	
37. Иванов Александр Алексеевич	
38. Бавин Матвей Витальевич


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


Понятно, что этого можно достичь только в результате упорного труда.
равно как и то что Кудянов ... Бавин могут существенно подняться при прикладывании существенных усилий.

Кроме того, есть ребята которые не попали на область в этом году.
Но старательно работая, могут сделать это в следующем году, в том числе

5 кл: Кардаш
6 кл: Васин, Коновал
7 кл: Романович, Процкий, Коцур, Курилина
8 кл: Ложечник, Захарченко, Шумиляк
9 кл: Иванова


Что же именно делать?


Есть такие направления работы
1. Еженедельный воскресный треннинг (решение олимпиад профи-лич - К области)
2. Движение по теории (очередь-рекурсия-ДП-графы-ССД-СДП)
3. Решение задач BY/GO
4. Повышение своего рейтинга на Codeforces

Думаю, надо двигаться по всем направлениям параллельно.

Текущее состояние

Теория (Олимпиады 9-11)
BY/GO
Воскресные олимпиады

Рейтинги на Codeforces

Рейтинги Codeforces на 14 января
2320	Костяной Андрей
2272	Харрасов Антон
2072	Галух Никита
2031	Кругликов Игорь
1961	Попович Виталий
1835	Горбатовский Дмитрий
1794	Ситников Алексей
1753	Лосев Александр

1383	Шумиляк Александр
1269	Подгорный Артём
1258	Бут-Гусаим Дмитрий
1102	Мюллер Марк
816	Романович Владислав
781	Сыч Валентин
771	Бавин Матвей
766	Васин Илья
750	Лукомский Богдан
742	Иванов Александр
707	Кардаш Кирилл
633	Коцур Мария
502	Коновалов Константин
0	Бобченок Максим
0	Коцур Артем

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

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

Мой профиль
Рейтинги на Codeforces на 17 февраля

                                                  Последний раунд в котором участвовал    

2286	Костяной Андрей		11	Гимназия 51    CR 700,  7. 2.2021        -34     
2272	Харрасов Антон		11	Гимназия 10    CR 692, 20.12.2020        -29 
2105	Кругликов Игорь		10	СШ 50          ER 103, 29. 1.2021   +74 
2019	Галух Никита		10	СШ 25          CF 701, 12. 2.2021        -135
1992	Попович Виталий		10	СШ 27          CR 699,  5. 2.2021        -20
1799	Лосев Александр		10	СШ 27          CR 696, 19. 1.2021   +43
1794	Ситников Алексей	         11	СШ 55          CR 694,  5. 1.2021   +32
1700	Горбатовский Дмитрий	8	Гимназия 51    CR 700,  7. 2.2021        -111 
1324	Подгорный Артём		10	ГГОЛ           CR 700,  7. 2.2021   +55
1267	Брель Михаил		6	СШ 27          CF 701, 12. 2.2021        -47    
1258	Бут-Гусаим Дмитрий      	9	СШ 19          CF 652, 23. 6.2020        -38   ??? 
1102	Мюллер Марк		9	СШ 11          TK      25.10.2020   +148                
1064	Бортенко Владислав      	10	СШ 27          CR 699,  5. 2.2021        -66 
821	Кудянов Эдуард		9	Гимназия 56    CF 701, 12. 2.2021        -86 
816	Романович Владислав	7	СШ 26          CR 694,  5. 1.2021        -45   ???!!!
789	Иванов Александр	         6	СШ 24          CF 702, 16. 2.2021        -95 
781	Сыч Валентин		9	СШ 50          ER  94, 25. 8.2020   +40     
772	Бавин Матвей		6	Лопатинская    CR 695,  8. 1.2021        -45
766	Васин Илья		6	СШ 21          CR 652, 23. 6.2020   +130       ???!!! 
750	Лукомский Богдан	         8	Гимназия 14    CR 675,  4.10.2020        -105
707	Кардаш Кирилл		5	СШ 8           CR 653, 28. 6.2020   +318       ???!!! 
545	Коцур Мария		7	СШ 7           CR 700,  7. 2.2021        -88 
420	Коновал Константин	         6	СШ 27          CR 696, 19. 1.2021        -83
0	Бобченок Максим		9	Гимназия 10
0	Процкий Андрей		7	Гимназия 10
0	Коцур Артем		6	Гимназия 14

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

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

Мой профиль
Codeforces
- кто чего добился (рейтинг)
- кто как работает (решено задач)

По умолчанию 11 кл , Гомель
                        Решено задач   
                Класс Всего Год Месяц  Город 
2286 Костяной         1026  500   30
2272 Харрасов          537  186    0
2105 Кругликов    10  3680 1395  135
2049 Дамасевич        1567  555   43   Мозырь 
2019 Галух        10  1878 1185  126 
1973 Попович      10   675  407   17
1904 Полынь        9  1442  507   30   Мозырь
1842 Лосев        10   574  370   24
1811 Горбатовский  8   254  186   15
1794 Ситников          805  498   15
1737 Шкуринский    9   959  558   39   Светлогорск
1712 Веретенников      645  194    4   Мозырь
1649 Черноокий        1265  158   15   Мозырь
1623 Кольченко         465  426   17   Мозырь 
1622 Отращенок         396  272   13   Мозырь
1523 Почепко      10   360  316   11   Светлогорск
1493 Булавко      10   308   90    0   Мозырь
1383 Шумиляк       8     1    0    0
1324 Подгорный    10   249  240   38
1322 Вегера       10   504   79    0   Мозырь
1232 Брель         6    68   68   24
1214 Бут-Гусаим    9    11    4    1
1195 Кивлинас     10    53   31    0   Мозырь
1102 Мюллер        9    15   15    2 
1064 Бортенко     10   203  203   33 
1032 Навроцкий    10    93   66   19   Светлогорск
 816 Романович     7     9    9    6
 781 Сыч           9     0    0    0
 772 Бавин         6    16   16    6
 766 Васин         6    60   29    7   
 750 Лукомский     8    17   17    0 
 735 Кудянов       9    15   14    0
 707 Кардаш        5     4    4    0
 643 Иванов        6     7    7    0 
 545 Коцур         7     2    2    0
 420 Коновал       6    25   22    1
   0 Процкий       7     0    0    0
   0 Бобченок      9     0    0    0

Андрей Костяной

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

Мой профиль
Опишу свою тактику (сейчас как раз пройдут сборы ЗКШ, будет шанс ее поправить):
1) 30 минут. Читаю все задачи, пытаюсь придумать что-то самое очевидное, что приходит в голову с прочтения (все, что я придумал, записываю в блокнот);
2) 60-90 минут. Думаю над задачами, пишу бруты, если это не займет много времени. Над каждой задачей (если нет существенных продвижений) думаю максимум 10 минут, потом перключаюсь.
3) 90 минут. Если к этом времени нет хороших идей, то начинаю писать бруты "через не хочу" (либо ставлю себе "крайнюю черту" -- время, когда я ТОЧНО сяду писать бруты. Ставлю эту черту с запасом по времени, чтобы точно успеть, и в том случае, если сейчас по какой-то задаче есть хорошие идеи, которые развиваются).
4) 90-120 минут. Если есть какие-то долги по брутам, то обязательно начинаю их закрывать. В это время обычно есть какая-то задача, которую я пытаюсь добить и, чаще всего, я занимаюсь ей. Если ее нет, то я чередую задачи, пытаюсь по каждой что-нибудь придумать.
Михаил Долинский

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

Мой профиль
Вот это уже лучше, чем ничего.

Тактика должна гарантировать, что ты наберешёшь не меньше баллов,
чем все те, кто готовы (знают теорию, набили руки на практике) не лучше, чем ты.


Замечания и предложения (Мне кажется)

1. Тактика должна быть более конкретной и более подробной
Тактика должна описывать ключевые ситуации в процессе решения олимпиады
и указывать алгоритм действий в каждой из них.

2. Не упомянуто слово группы. Думаю, оно должно присутствовать.
Работа над различными группами к задаче позволяет набирать баллы, одновременно продвигая к полному решению.

3. Этапы продвижения по задаче (требуется также отразить в тактике)
- прочитал условие задачи
- понял условие задачи
- продумал возможные отклонения от основного алгоритма (крайние случаи)
- сдал брут, если приемлемо его писать по сложности/времени (доказал правильность понимания условия задачи)
- изучил состав групп
- придумал/сдал некоторые группы
- выписал проблемы по остальным группам и возможные подходы к их решениям
(обязательны АЛЬТЕРНАТИВЫ в направлениях мышления)
- переключение на другую задачу только в этой точке

4. Первая развилка, требующая принятия решения.

Сколько времени в начале олимпиады НЕ ИДТИ на комп?
Вариант А. Пока по всем задачам не выполнена вышеописанная работа (за исключением сдачи брутов и групп)
Вариант B. После выполнения вышеописанного процесса по задаче писать простые бруты и группы по задаче
и только после этого переключаться на другую задачу.

5. Вторая развилка, требующая принятия решения.

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

6. Третья развилка, требующая принятия решения

"Написал брут" - не прошло. Сколько времени бороться с этой проблемой?
В каком случае/через сколько времени переключаться на другую задачу?

"Написал группу" - не прошло. Сколько времени бороться с этой проблемой?
В каком случае/через сколько времени переключаться на другую группу/задачу?

7. Конкретизировать методы локализации ошибок в коде (алгоритм их применения/распределение времени между ними)
- чтение исходника
- ручные тесты (с накоплением и пакетным тестированием всех накопленных тестов перед каждой отсылкой)
- встроенные бруты и автосравнение результатов брута и основного решения на генерируемых тестах
- безопасная технология исключения встроенного самотестирования при отсылке решения на тестирования (? define DEBUG/SOLVE)

8. Выставить ограничитель по времени на локализацию ошибок

9. Выставить ограничитель по времени на исправление ошибок (чтобы не завязнуть в одной задаче)

10. Всякие "жадосы и эвристики" писать, только если осталось мало времени (час до конца?) и нет других идей.

11. "Перезагрузка"(дать отдых для мозга) - если идей нет, а время есть
- подремать несколько минут, ни о чём не думая
- выйти в туалет и т.д.
Алексей Данченко

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

Мой профиль
Не знаю, куда правильно написать. Напишу сюда.

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

Я видел исходный код некоторых ребят из Гомельской области. Я понимаю, что когда пишешь на скорость на каком-нибудь Codeforces, AtCoder, то не до красоты и аккуратности, сам грешил таким, но все же нужно стараться соблюдать какой-то баланс. Для чего? Для минимизации количества ошибок при кодировании и дальнейшего упрощения процесса отладки и тестирования.

Так вот, создалось впечатление, что ребята не особо много смотрят на исходный код других участников. А это бывает часто полезно: узнать какую-то возможность в языке, подсмотреть какой-то трюк, просто увидеть, как аккуратно и лаконично можно кодировать некоторые стандартные алгоритмы. Я бы попробовал найти каких-нибудь топовых (или около того) участников с "красивым" кодом и смотреть после соревнования, как они реализовывали то или иное решение.

Плюс к этому, если говорить конкретно о с++, то не забывать, что какие-то мелкие вещи уже реализованы в стандартной библиотеке. Понятно, что есть вещи, которые никто не забывает использовать вроде next_permutation или lower_bound, но есть более простые и менее ценные штуки, которыми многие пренебрегают, потому что руками написать простой цикл может быть быстрее и привычней. Но все эти мелкие вещи вроде min_element, accumulate, unique, iota, etc при использовании дают то преимущество, что в них вы вряд ли сделаете ошибку. Я не помню, когда последний раз подставлял не тот итератор в стандартный алгоритм, а вот когда использовал не ту переменную в цикле, помню. Плюс к этому пользоваться современными возможностями языка и библиотеки. Все эти auto, initializer_list'ы, emplace/emplace_back, array, tuple, tie все это может сделать код проще и читабельней. А соотвественно в нем проще будет находить ошибки.
Михаил Долинский

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

Мой профиль
Лёша, огромное спасибо, что не забываешь.
И отдельное огромное спасибо за пост.
Думаю, это действительно очень дельные и полезные советы (по моему, там их больше одного )

Кстати, возможно, Андрей уже исправляется.

Вот результаты отборочного тура к ЗКШ
http://opentrains.mipt.ru/~ejudge/showres.cgi?data=res000556

Андрей Костяной - второй!

Попутно там ещё гомельчане
Харрасов, Лосев, Попович, Ситников

и мозыряне
Дамасевич, Полынь


Алексей Данченко

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

Мой профиль


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

Вот результаты отборочного тура к ЗКШ
http://opentrains.mipt.ru/~ejudge/showres.cgi?data=res000556

Андрей Костяной - второй!
 

Круто!


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

Попутно там ещё гомельчане
Харрасов, Лосев, Попович, Ситников

и мозыряне
Дамасевич, Полынь
 

Да, я уже знаю все эти фамилии.
 
Индекс форума ->Олимпиадное программирование ->Методика подготовки к IOI 2007 - ...
Time:0,062