Прошу подкинуть идею, как решать эту задачу. Спасибо!
№ | Пользователь | Рейтинг |
---|---|---|
1 | tourist | 4009 |
2 | jiangly | 3823 |
3 | Benq | 3738 |
4 | Radewoosh | 3633 |
5 | jqdai0815 | 3620 |
6 | orzdevinwang | 3529 |
7 | ecnerwala | 3446 |
8 | Um_nik | 3396 |
9 | ksun48 | 3390 |
10 | gamegame | 3386 |
Страны | Города | Организации | Всё → |
№ | Пользователь | Вклад |
---|---|---|
1 | cry | 167 |
2 | Um_nik | 163 |
3 | maomao90 | 162 |
3 | atcoder_official | 162 |
5 | adamant | 159 |
6 | -is-this-fft- | 158 |
7 | awoo | 157 |
8 | TheScrasse | 154 |
9 | Dominater069 | 153 |
9 | nor | 153 |
Прошу подкинуть идею, как решать эту задачу. Спасибо!
Название |
---|
Динамика [количество человек][сколько партий выиграла первая команда][сколько партий выиграла вторая команда]. Первое измерение можно обрабатывать с помощью чередующихся массивов. Для переходов понадобится, сколько в данный момент имеется игроков из обоих команд.
А в чём идея чередующихся массивов? Вроде, ни разу не слышал о таком приёме.
Да слышал наверное, просто не понял, что я именно это имел в виду.
Память в N раз уменьшить, т.к. только последний слой динамики надо хранить.
А, это действительно слышал, спасибо)
Пока не понял суть перехода. Точнее, как осуществить переход, если мы не храним свободных игроков.
Или не разобрался, что такое "количество человек". Это количество пар, которые уже составлены?
Ну во-первых надо посортить людей по крутости, чтоб каждый следующий обыгрывал всех предыдущих.
А потом перебираем, текущий человек будет играть партию или нет. Если будет, мы знаем, со скольки людьми из второй команды он может ее сыграть. И знаем, что он выиграет, т.к. люди посорчены. А если не будет, то динамика ему потом как-нибудь выберет другого соперника.
http://www.youtube.com/watch?feature=player_detailpage&v=kMzReegWjYA#t=1195 — MikeMirzayanov в действии
Снималось с телефона, так что ничего не видно, но можно слушать)
Здорово!) Спасибо большое.