| Автор |
Сообщение |
03.09.2025 13:53:33
Тема: Стратегия Сборной восточного Тимора(Коцур,Марцинкевич, Терешко)
|
Сборная Восточного Тимора
Темы: 1
Сообщений: 1
Мой профиль
|
Здесь обсудим тактику на командных олимпиадах
|
03.09.2025 14:03:39
Тема: Re:Стратегия Сборной восточного Тимора(Коцур,Марцинкевич, Терешко)
|
Геннадий Марцинкевич
Темы: 4
Сообщений: 139
Мой профиль
|
Тактика:
1. Делим задачи на 3 части, каждый читает свою
2. Сложные задачи сразу отсеиваем в отдельную стопку, поддерживаем множество самых лёгких задач, опираясь на таблицу и стараемся решать их
3. Когда кто-то что-то придумает, советуется с самым свободным, определяем лимиты по времени написания
4. Если кто-то пишет или дебагает слишком долго (больше отведённого времени на 8 минут), то либо кто-то помогает ему, либо идёт писать придуманную собой задачу
Советы:
1. Перед написанием 10 минут думаем над реализацией, если эта задача пишется дольше 1 минуты (очень лёгкая)
2. Если долго не можем ничего придумать, обмениваемся задачами и идеями, обсуждаем
3. Первые 2 часа пишут только Саша и Артём
|
10.09.2025 10:24:53
Тема: Re:Стратегия Мастеров кода онлайн(Коцур, Марцинкевич, Терешко)
|
Мастера кода онлайн
Темы: 0
Сообщений: 16
Мой профиль
|
Причины плохого результата ( 07.09.2025 )
1) не хватило времени
1.1 долго не могли найти закономерность на G
1.2 час не могли понять почему не работает I (проблема оказалась в отсутствии чекера)
2) разделились в последний час и думали по 2 задачам. В итоге ничего не придумали, но если бы думали все над 1 задачей, возможно сдали бы.
Вывод: В последний час(из-за небольшого количества времени) лучше сконцентрироваться всем на 1 задаче.
|
10.09.2025 10:29:21
Тема: Re:Стратегия Сборной восточного Тимора(Коцур,Марцинкевич, Терешко)
|
Мастера кода онлайн
Темы: 0
Сообщений: 16
Мой профиль
|
Тактика:
1. Делим задачи на 3 части, каждый читает свою
2. Сложные задачи сразу отсеиваем в отдельную стопку, поддерживаем множество самых лёгких задач, опираясь на таблицу и стараемся решать их
3. Когда кто-то что-то придумает, советуется с самым свободным, определяем лимиты по времени написания
4. Если кто-то пишет или дебагает слишком долго (больше отведённого времени на 8 минут), то либо кто-то помогает ему, либо идёт писать придуманную собой задачу
Советы:
1. Перед написанием 10 минут думаем над реализацией, если эта задача пишется дольше 1 минуты (очень лёгкая)
2. Если долго не можем ничего придумать, обмениваемся задачами и идеями, обсуждаем
3. Первые 2 часа пишут только Саша и Артём
4. В последний час всем думать над 1 задачей
|
15.09.2025 18:37:53
Тема: Re:Стратегия Сборной восточного Тимора(Коцур,Марцинкевич, Терешко)
|
Михаил Долинский
Темы: 2145
Сообщений: 51644
Мой профиль
|
- надо ли поправлять тактику ?
- кому что и как тренировать ?
Возможные варианты ???
- сдать разобранные задачи (вместе писать?)
- разобрать авторские описания решений
- подумать над задачами какое-то время
|
17.09.2025 10:43:55
Тема: Re:Стратегия Сборной восточного Тимора(Коцур,Марцинкевич, Терешко)
|
Мастера кода онлайн
Темы: 0
Сообщений: 16
Мой профиль
|
Проблемы:
1. Долго писали H, I, J. Виноваты все, нужно ускорятся и быстрее дебагать.
2. Усложнили решение J, поняв это только во время отправки. Почему? Не думали над реализацией 10 минут.
3. На H придумали слишком лёгкое решение, которое тяжело пишется. Если бы подумали над реализацией ещё, не факт что что-то изменилось бы, тем более, если бы Гена думал один.
4. Придумали неправильную формулку для циклов в C, не смогли её опровергнуть, т. к. были заняты др. задачами.
5. Мало думали над реализацией I, из-за этого пропустили случай, получили WA. Возможно, если бы Саша сразу написал красиво код , то сразу бы нашёл ошибку без помощи Артёма.
6. Геннадий забыл модули на H. Не знаем, как это иногда не забывать.
Что исправить:
1. Быстрее кодировать, особенно Гене и Саше
2. Если думаем над решением вдвоём, думать над реализацией не в одиночку
3. Больше сомневаться в своих "очевидных" решениях и пытаться их опровергнуть, особенно Артёму и Саше (стараться думать в сторону ДП), а также стараться развивать упрощающие задачу идеи
4. Дольше думать об упрощении решения, прежде чем его писать.
|
17.09.2025 10:48:12
Тема: Re:Стратегия Сборной восточного Тимора(Коцур,Марцинкевич, Терешко)
|
Мастера кода онлайн
Темы: 0
Сообщений: 16
Мой профиль
|
Тактика:
1. Делим задачи на 3 части, каждый читает свою
2. Сложные задачи сразу отсеиваем в отдельную стопку, поддерживаем множество самых лёгких задач, опираясь на таблицу и стараемся решать их
3. Когда кто-то что-то придумает, советуется с самым свободным, определяем лимиты по времени написания
4. Если кто-то пишет или дебагает слишком долго (больше отведённого времени на 8 минут), то либо кто-то помогает ему, либо идёт писать придуманную собой задачу
5. Над сложными задачами, которые придумывались вдвоём/втроём, после 2-3 часов контеста, писать вместе.
Советы:
1. Перед написанием 10 минут думаем над реализацией, если эта задача пишется дольше 1 минуты (очень лёгкая)
2. Если долго не можем ничего придумать, обмениваемся задачами и идеями, обсуждаем
3. Первые 2 часа пишут только Саша и Артём
4. В последний час всем думать над 1 задачей
5. Несколько минут стараться упрощать решения перед кодированием, а также думать над реализацией всем, кто придумывал, а не только, кто кодирует
|
01.10.2025 12:52:27
Тема: Re:Стратегия Сборной восточного Тимора(Коцур,Марцинкевич, Терешко)
|
Мастера кода онлайн
Темы: 0
Сообщений: 16
Мой профиль
|
Проблемы:
0. Забыли разобрать случай на B в начале олимпиады, итог - +1 посылка
1. В задаче F Артём забыл проверять делители >sqrt(n), итог - +2
2. В задаче E Гена забыл рассказать один случай в условии, итог - +1
3. В задаче D Артём неправильно обработал один случай, из-за большого кол-ва оных - +4
4. В задаче I поставили неправильные ограничения, Гена не мог долго понять решение Саши, итог - +1
5. В задаче H Гена перепутал переменную в формуле, итог - +1
6. Много потратили времени на C, зная, что там кривой тест
7. В задаче L Гена долго писал CHT, был баг с неправильным upper_bound и коллизией при переводе из double в int, итог - -2
8. В задаче G неправильно поняли условие, чего и добивались авторы, написав его слишком непонятным и запутанным
9. В задаче K Саша подумал, что асимптотика будет слишком большой - переключились на другие задачи
Что исправить:
Саше: считать асимптотику и пытаться понятнее рассказывать решения
Гене: лучше рассказывать условия
Артёму: быть внимательнее при реализации
Всем: Думать над непонятными условиями вместе
|
01.10.2025 12:54:44
Тема: Re:Стратегия Сборной восточного Тимора(Коцур,Марцинкевич, Терешко)
|
Мастера кода онлайн
Темы: 0
Сообщений: 16
Мой профиль
|
Тактика:
0. Делим задачи на 3 части, каждый читает свою
1. Сложные задачи сразу отсеиваем в отдельную стопку, поддерживаем множество самых лёгких задач, опираясь на таблицу и стараемся решать их
2. Когда кто-то что-то придумает, советуется с самым свободным, определяем лимиты по времени написания
3. Если кто-то пишет или дебагает слишком долго (больше отведённого времени на 8 минут), то либо кто-то помогает ему, либо идёт писать придуманную собой задачу
4. Над сложными задачами, которые придумывались вдвоём/втроём, после 2-3 часов контеста, писать вместе.
5. Если не понимаем, или сомневаемся в условии, думаем над ним вместе
Советы:
0. Перед написанием 10 минут думаем над реализацией, если эта задача пишется дольше 1 минуты (не слишком лёгкая)
1. Если долго не можем ничего придумать, обмениваемся задачами и идеями, обсуждаем
2. Первые 2 часа пишут только Саша и Артём
3. В последний час всем думать над 1 задачей
4. Несколько минут стараться упрощать решения перед кодированием, а также думать над реализацией всем, кто придумывал, а не только, кто кодирует
5. Кидать время нестандартных олимпиад в группу
|
12.10.2025 08:05:42
Тема: Re:Стратегия Сборной восточного Тимора(Коцур,Марцинкевич, Терешко)
|
Михаил Долинский
Темы: 2145
Сообщений: 51644
Мой профиль
|
From: Michael Dolinsky
Достойно, а ещё лучше могли?
(8-ое место в олимпиаде Питер #1)
From: Геннадий Марцинкевич
Могли - 1 задачу не дописали, 2 не придумали, но, вероятно, если было бы ещё время, сдали бы и их. Проблема, пожалуй, одна - медленно пишем, а многие некрасиво, так, что код невозможно дебажить
Значит теперь это - направление главного удара.
1. Выпиши СВОИ ПРАВИЛА - что значит писать код красиво.
2. Обсудите их в команде, дополните/замените что нужно, чтобы получить
ПРАВИЛА НАПИСАНИЯ КОДА В КОМАНДЕ.
После каждой олимпиады выписывайте замечания нарушителям правил написания кода.
|
12.10.2025 08:17:54
Тема: Re:Стратегия Сборной восточного Тимора(Коцур,Марцинкевич, Терешко)
|
Геннадий Марцинкевич
Темы: 4
Сообщений: 139
Мой профиль
|
Хорошо, вот код, который я считаю красивым:
0. Tabы. Они должны стоять и стоять правильно, а не так, что if будет правее, чем его внутренности.
1. Пробелы. Во всех операторах (+ - * / % & && и т. д.) должны стоять пробелы. И как можно меньше лишних скобок
2. Не должно быть return в конце void - это сбивает
3. Ленивое проталкивание в ДО писать через push, а не через передавайте на следующий уровень проталкиваемого через аргументы функции
4. Использовать camelCase для переменных, заглавные буквы для констант. Желательно на английском - не kol, а cnt и подобное.
5. Не засорять код - не использовать вектора без необходимости, не писать громадные конструкции из if - else, если можно заменить на if - return, if - return.
P. S.
0. ЗАКРЫВАТЬ КОЛПАЧКИ НА РУЧКАХ И НЕ РАСКИДЫВАТЬ ИХ ПО ВСЕМУ КОРИДОРУ
1. Не сидеть на проводах, при том, под 45° к столу - ровно стул ставить
|
12.10.2025 08:24:26
Тема: Re:Стратегия Сборной восточного Тимора(Коцур,Марцинкевич, Терешко)
|
Михаил Долинский
Темы: 2145
Сообщений: 51644
Мой профиль
|
Отлично.
В ближайшую встречу (среду?) обсудите,дополните/измените и КОНТРОЛИРУЙТЕ исполнение правил.
Нарушителям - штраф
- принести по шоколадке сокомандникам на ближайшую олимпиаду
|
15.10.2025 15:39:06
Тема: Re:Стратегия Сборной восточного Тимора(Коцур,Марцинкевич, Терешко)
|
Геннадий Марцинкевич
Темы: 4
Сообщений: 139
Мой профиль
|
[deleted]
|
15.10.2025 16:04:07
Тема: Re:Стратегия Сборной восточного Тимора(Коцур,Марцинкевич, Терешко)
|
Мастера кода онлайн
Темы: 0
Сообщений: 16
Мой профиль
|
Стиль кода v2:
0. Tabы. Они должны стоять и стоять правильно, а не так, что if будет правее, чем его внутренности.
1. Пробелы. Во всех операторах (+ - * / % & && и т. д.) должны стоять пробелы. И как можно меньше лишних скобок
2. Не должно быть return в конце void - это сбивает
3. Использовать глобальные константы для ограничения массивов, например, const int N = 1e5 + 9; Всегда ставить + 9 или подобное в конце.
4. Стараться использовать oo = 1e18 или INF. Пусть INF и дефайн, но лучше писать его большими буквами как константу. Почему oo не большими буквами? 2 причины: OO похоже на 00 и так быстрее писать - это как фразеологизм. Также не стоит забывать про коллизии, которые иногда возникают при переводе 1e18/1e19 в long.
5. Использовать разделители числа: 1'000'000 - это работает хотя бы в C++23, далеко не факт, что в остальных тоже, но попробовать на пробнике стоит.
6. Не занулять сразу глобальные переменные.
7. Использовать int a[n]{}, fill и iota.
8. Использовать camelCase для переменных, заглавные буквы для констант. Желательно на английском - не kol, а cnt и подобное.
9. Не засорять код - не использовать вектора без необходимости, не писать громадные конструкции из if - else, если можно заменить на if - return, if - return.
10. Использовать long или ll вместо long long и int64_t - так быстрее, читабельнее и можно не оборачивать в скобки конструктор: int(2.5) или long(2.5).
11. Пихать #define int long отдельно от всех дефайнов, желательно, пониже, возле const int N и using namespace std, чтобы легко было смотреть закомментирован ли он или нет и быстро к нему перемещаться.
12. Не писать iostream::sync_with_stdio(0); и ios_base::sync_with_stdio(0); - это одно и тоже! Писать просто ios::sync_with_stdio(0);
13. В for ставить пробелы между ;: for (int i = 0; i < n; ++i) и for (auto u : v)
14. Стараться ставить простые типы сразу в for, чтобы быстрее отлавливать ошибки компиляции: for (int u : v) или for (char u : s)
Желания:
0. Хотелось бы видеть ++i, так мне не нужен постинкремент
1. Не писать int32_t main, а просто main(){}, т. к. это необязательно и потому что main как отдельная функция вообще не нужна - хочется от неё избавиться полностью, но это, увы, нельзя, довольствуемся убиранием хотя-бы одного слова от её объявления
Стиль алгоритмов:
0. В цикле по подтестам
while (t--) {
solve();
cout << nl;
}
писать перевод строки, чтобы не ставить его в каждом выводе, например, cout << ans << nl; - код выглядел читабельнее, без воды и не забыть его поставить, если что
1. Ленивое проталкивание в ДО писать через push, а не через передавайте на следующий уровень проталкиваемого через аргументы функции
P. S.
0. ЗАКРЫВАТЬ КОЛПАЧКИ НА РУЧКАХ И НЕ РАСКИДЫВАТЬ ИХ ПО ВСЕМУ КОРИДОРУ
1. Не сидеть на проводах, при том, под 45° к столу - ровно стул ставить
|
15.10.2025 16:05:45
Тема: Re:Стратегия Сборной восточного Тимора(Коцур,Марцинкевич, Терешко)
|
Мастера кода онлайн
Темы: 0
Сообщений: 16
Мой профиль
|
Листы для ВКОШП.
Стоит сделать отдельный репозиторий на GitHub или ещё где-нибудь и вместе редактировать их.
0. Алгоритмы:
Макс. клика
Проверка числа на простоту, факторизация
orderedSet
КТО для не взаимнопростых m
LCP
Манакер
Сумма Минсковского
Сортировка векторов по углу без дробных чисел:
bool comp(pair <int, int> a, pair <int, int> b) {
if (a.f < 0 && b.f < 0)
return comp({-a.f, -a.s},
{-b.f, -b.s});
if (a.f < 0) //b.f >= 0
return 0;
if (b.f < 0) //a.f >= 0
return 1;
if (a.f == 0)
return a.s > 0;
if (b.f == 0)
return b.s < 0;
return a.s * b.f > b.s * a.f;
}
Кол-во дробных чисел до 10^x
Отжиг (в том числе многослойный)
1. Код для проверки на пробнике (пока что просто идеи):
__int128/__int128_t
1'000'000
|
|
|
|