[Logo] Форум DL
  [DL]  Back to home page 
Forum Index ->Олимпиадное программирование ->Тактика на командных олимпиадах 1, 2
Author Message
Polukodery

Topics: 1
Messages: 28

My Profile
Тактика:

1) Время на чтение всех задач - 20мин
2) Распределение задач:
  Саша - A-D
  Виталя - E-H
  Лёша - I-(и до конца)
   Каждый в своей задачей ищет самую простую
   Когда кто-то нашёл задачу, то он сидит 1мин и додумывает. Потом, если это не Лёша, то обращаются к нему. А Лёша обращается к кому выгодней
 Как только есть задача, которую можно сдать, нужно спросить про "подводные камни"


Как проверить идею на правильность:

Объяснить, почему решение будет работать
Придумать тест(ы) и объяснить, как на нём будет работать решение
Если не можем придумать контр-тест , тогда идея правильная
Проверить решение с брутом и генератором тестов


Если решение не прошло:

Если это задача, которую решает один человек:

Даём 5 минут на дебаг
Если за 5 минут она не сдана, тогда подсаживаем на 3 минуты ещё одного человека
Если задача всё равно не сдана, тогда решение печатают и думают над ним за столом + придумывают тесты. В это время третий человек идёт писать другую задачу, если есть полное решение
Перечитать условие
Когда находятся ошибки, не надо каждый раз дёргать кодера
Если за 20 минут после дебага задача не сдана, то она откладывается на потом

Если решают 2+ человек:

Не больше 2-ух участников тщательно перечитывают условие
Условие обсуждается между участниками
Кодеру задаются вопросы по поводу кода
Вместе с этим другой человек придумывает тесты
Обдумываются и обсуждаются возможные частные случаи задачи
Если за 15 минут ошибка так и не была найдена, то решение печатается и обдумывается за столом 2-мя участниками


3) Когда сидящие за столом обсудили идею, они выясняют, кому выгодней её дать
4) Когда компьютер занят, сидящие за столом обсуждают задачи и придумывают идеи и тесты на них
5) Реализации, которые требуют более 30мин - кодятся, когда компьютер свободен
6) Как только появилась идея, и сидящему за компьютером требуется менее 10мин на дописание кода - пусть дописывает
7) Если прошло больше согласованного времени, то либо тиммейт отсаживается от компьютера, либо к нему подсаживается второй человек и они решают вместе
8) Если кодеру нужны тесты - то один из сидящих за столом придумывает их
9) Если свободен компьютер и есть задачи, которые написаны, но не сданы, то можно написать генератор тестов и проверить

Осталось 1.5 часа до конца контеста: либо все 3 человека решают одну задачу, либо 2 человека решают задачу и 1 думает над другой

Время на написание кода согласовывается до похода за компьютер




USACO 2019 March
1. TREEBOXES ( Библиотека + Графы )
2. ESCAPE ( ДП на Графах )
3. VALLEYS ( СНМ )

USACO 2019 February
1. COWDATE ( Скользащее окно )
2. MOORIOKART ( Графы )
3. MOWING ( ДП + Дихотомия )

USACO 2019 Januray
1. REDISTRICTING ( ДП )
2. EXERCISE ( Графы )
3. TRACKING2 ( ДП )

USACO 2018 December
1. BALANCE ( Теория Вероятности )
2. ITOUT ( ДП на Графах )
3. GATHERING ( Графы )

USACO 2018 March
1. SORT_PLATINUM ( Математика )
2. TRAIN ( библиотека )
3. DISRUPT ( Графы + Дейкстра + HashSet )

USACO 2018 February
1. SLINGSHOT ( Графы + Дерево Отрезков )
2. NEWBARN ( heavy-light decommposition )
3. GYMNASTS ( ДП на Графах )

USACO 2018 January
1. LIFEGUARDS ( ДП с оптимизацией разделяй-и-властвуй )
2. ATLARGE ( Графы + ДФ )
3. SPRINKLERS ( ДП + принцип включения-исключения )

USACO 2017 December
1. GREEDY ( Дихотомия по ответу )
2. PUSHABOX ( графы на компонентах двусвязности )
3. STANDINGOUT ( суффиксный массив )

USACO 2017 January
1. PROMOTE ( Эйлеров обход с ДФ/ДО )
2. TALLBARN ( Дихотомия по ответу + математика )
3. SUBREV ( ДП )

USACO 2017 February
1. MINCROSS ( ДП с оптимизацией разделяй-и-властвуй )
2. NOCROSS_PLATINUM ( ДП + ДО )
3. FRIENDCROSS ( ДП + ДО + ДФ )

USACO 2018 December.
Лёша - B2, S1, S3.
Саша - B1, B3, S2, G3.

B1 +
B2 +1 - Саша вначале написал жадник - не зашёл. Лёша написал другое решение.
B3 +2 - в рекурсии не учитывал все варианты.Пришлось переписать код, и новый код зашёл.
S1 +2 - неверная проверка в дихотомии
S2 +3 - не хватало части кода, за 5 минут до конца контеста нашёл ошибку
S3 +1 - мелкие ошибки в коде.
G3 +
Polukodery

Topics: 1
Messages: 28

My Profile
USACO 2019 March.
Лёша - B3, S3.
Саша - B1, B2, G1.

B1 +
B2 +
B3 +
S3 +
G1 +
Polukodery

Topics: 1
Messages: 28

My Profile
USACO 2018 March.
Лёша - S1.
Артём - B2, B3.
Саша - B1, S2.
B1 +1 - надо было учитывать различные
B2 +10 - Саша не учёл один вариант
B3 +
S1 +
S2 +
Дорешать:
Лёша - S3, (возможно) G1, G2, G3.
Артём - S3, (возможно) G1, G2, G3.
Саша - S3, (возможно) G1, G2, G3.
Polukodery

Topics: 1
Messages: 28

My Profile
Произшло изменение в составе команды - Попович Виталик вместо Короткова Артёма.


Тактика:

1) Виталик должен решать бронзу.Когда он придумал идею на задачу,
то должен рассказать её Лёше или Саше и с их разрешения идёт писать.
На бронзу ему даётся 1 - 1,5 часа

2) Пока Виталик решает бронзу Лёша и Саша придумывают идеи на серебро и золото.
Если у Виталика достаточно знаний на реализацию идеи, ему рассказывают её и он идёт писать.

3) Если Саша или Лёша придумали идею когда Виталик пишет,
то Виталик освобождает компьютер и идёт дорабатывать код
и советоваться с другим сокомандником

4) За 1-0,5 часа до конца все упираются в одну задачу, на которую есть идея
Polukodery

Topics: 1
Messages: 28

My Profile
Т. к. у Виталика мало практики в решениях не dl-задач,
ему лучше будет прорешать все олимпиды(bronze,silver),
которые мы решали.

Если что-то не получается, тогда он разбирается с идеей на форуме,
иначе просит помощи у Саши или у Лёши.
Polukodery

Topics: 1
Messages: 28

My Profile
USACO 2018 January.

Лёша - B1.
Саша - B2, B3, S1.
Виталик - S3.

B1 +7 - были неверные идеи
B2 +
B3 +
S1 +4 - не учитывал некоторые варианты
S3 +1 - надо было не учитывать вариант "самим с собой"

Дорешать:
Саша - S2, G1, G2, G3.
Лёша - S2, G1, G2, G3.
Виталик - S2, G1.
Polukodery

Topics: 1
Messages: 28

My Profile
USACO 2017 December

Саша - G2
Лёша - B3,S1,S3,G3
Виталик - B1,B2

B1 +
B2 +
B3 +6 - Саша писал неправильную реализацию, потом Лёша переписал код и зашло
S1 +3 - неправильно сравнивали дробные числа
S3 +3 - неверно проверял вершины, входящие в циклы
G2 +
G3 +1 - надо было использовать multiset, а не set

Дорешать
Саша - S2,G1,P1
Лёша - S2,G1,P1
Виталик - S2,G1,G3,(возможно)G2
Polukodery

Topics: 1
Messages: 28

My Profile
USACO 2017 january

Саша: g2,s2,s3,b3
Лёха: g1
Виталик: b1,b2,s1

b1 +1 (не обнулял начальные состояния)
b2 +
b3 +
s1 +
s2 +
s3 +1 (не учёл один случай)
g1 +1 (при сжатии я ставил на позиции те самые числа, которые давались на вводе)
g2 +2 (были лишние лонги, не надо было менять состояние на одно и то же и при этом учитывать как замену)
Polukodery

Topics: 1
Messages: 28

My Profile
USACO 2017 february

Саша - g1,g2,g3
Лёша - s2,s3,g3
Виталя - b1,b2,b3,s1

b1 +
b2 +
b3 +
s1 +
s2 +1 (не проверял последний отрезок из k элементов. Т.е. я проверял от n-k до n-1, а нужно было ещё и от n-k+1 до n)
s3 +4 (все попытки были неправильными идеями)
g1 +5 (не учитывал ходы вверх)
g2 +1 (надо было учитывать все варианты соединения)
g3 +
Polukodery

Topics: 1
Messages: 28

My Profile
USACO 2017 March

Лёша - s2,g1
Саша - b3
Виталя - b1,b2,s1

b1 +2 (Неправильно поняли условие. Забыл маленькое условие)
b2 +1 (Неправильно поняли условие)
b3 +2 (Неверная находил левый верхний угол)
s1 +
s2 +2 (Неправильно писал хеши)
g1 +1 (Медленное решение. Писал M^2*NlgN, потом написал за M*NlgN (скользящее окно))
Polukodery

Topics: 1
Messages: 28

My Profile
USACO 2016 December

Саня - b1,b3,s1,s2,s3,g1,g2
Лёха - b2

b1 +
b2 +1 (неверный подсчёт кол-ва букв для одной карточки)
b3 +
s1 +2 (писал неверную идею)
s2 +8 (у Лёхи было неправильное решение, потом у Саши был неправильный подсчёт вариантов)
s3 +7 (у Лёхи было неправильное решение, потом у Саши тоже ,и в итоге переписал код и сдал)
g1 +2 (была неправильная рекурсия)
g2 +3 (надо было считать не манхэтенское рассточние , а Евклидова)
Polukodery

Topics: 1
Messages: 28

My Profile
USACO 2016 April

Саня - b2,s3,g2,g3
Лёха - b1,s2
Виталя - b3,s1

b1 +3 (неверный подсчёт ответа,нужно внимательно читать условие)
b2 +
b3 +
s1 +
s2 +
s3 +2 (неверная идея,после сдали g2,s3 - меньше ограничения)
g2 +1 (неверно подсчитал асимптотику решения)
g3 +4 (неверное дп,нашли контр-тест и сдали)
Polukodery

Topics: 1
Messages: 28

My Profile
USACO 2016 February
Лёша - s3
Саша - b1, b2, b3, s2, g2

b1 +
b2 +1 (ограничения)
b3 +2 (неверная идея)
s2 +1 (не надо было вводить m)
s3 +
g2 +1 (отправил не тот файл)
Polukodery

Topics: 1
Messages: 28

My Profile
USACO 2016 January

Виталя - b1,b2,b3,s1
Саня - s2,g2


b1 +
b2 +3 (неправильный подсчёт радиуса и надо было начинать с правого(левого) хорошего соседа)
b3 +1 (не ставили -1 при плохом ответе (не дочитали условие))
s1 +2 (не должны были запускать цепочку (неправильно понятое условие))
s2 +
g2 +8 (каждая попытка - плохо реализованное решение, потом написали другое решение)
Polukodery

Topics: 1
Messages: 28

My Profile
USACO 2015 December
Лёша - g1
Виталя - b1,b2,b3
Саша - s2,s3,g2

b1 +
b2 +2 (ошибка в реализации,неверный учёт интервала)
b3 +2 (плохая реализация,переписал код и сдал)
s2 +
s3 +
g1 +4 (неверная идея + не правильно написал жадник)
g2 +1 (возвращались в состояние, в котором мы уже были)
 
Forum Index ->Олимпиадное программирование ->Тактика на командных олимпиадах 1, 2
Time:0,078