Приветствую всех на Codeforces Beta Round 31 (Div. 2, Codeforces format)
Раунд для вас готовили: Михаил Мирзаянов, Дмитрий Матов, Макс Иванов и я.
Удачи!
Артем Рахов и команда Codeforces
№ | Пользователь | Рейтинг |
---|---|---|
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 |
Название |
---|
PS
Столкнулся с одной проблемкой: вобщем открывал код участников для взлома, всё нормально вроде, а у одного постоянно выдавало "You need a newer version of Adoube Flash (ну что-то в этом роде)"... в чем прикол? у всех остальных норма, а тут никак...
надо в списке задач "залочить" свою задачу (нажать замочек).
тогда после этого в комнате по нажатию ctrl + сданная задача у участника - появляется код задачи с кнопкой "взломать".
ответ aa@aa
~
The text say, Breaks are given in arbitrary order.
will some test case like this?
2 2 2
0 1 1 1
1 0 1 2
I make one more for loop to calculate by force, then i got an Accept.
напишу идею, считаем динамику dm[pos][u][k] -- максимальная сумма из первых pos цифр, из них гомер взял u цифр, мардж -- k цифр,
из dm[pos][u][k] вохможны два перехода :
1) если (u < n) обновим dm[pos + 1][u + 1][k] , через dm[pos][u][k] + 10^(n-u-1) * s[pos]
2) если (k < n) обновим dm[pos + 1][u][k + 1] , через dm[pos][u][k] + 10^(n-k-1) * s[pos]
s[] - данный набор цифр
ответ лежит в dm[2 * n][n][n]
Числа игроков после каждого из ходов:
0)0 0
1)1 0
2)12 0
3)12 3
4)12 34
3
000999
?
The input example:
1234
The total is: 12 + 34?
Thx:)
задача В забыл написать
"It is guaranteed that the set of breaks is correct, i.e. there is some order of the given breaks that each next break divides exactly one part of the bar into two non-empty parts.
Output n + 1 numbers — areas of the resulting parts in the increasing order."
N is at least 1, and you cant break it on empty parts!
Мне кажется публикация тестов не спортивна. Как-то это по-читерски - не думая просто взять и узнать тест.
Была одна задача которую я не мог решить в течение полугода - не сдавался никак последний тест :) Раз в неделю или в две недели я садился с листком бумаги и рисовал кучу тестов и много думал. В конце концов после одной "гулянки" я проснулся в 6 утра и мне пришло в голову исправление моего решения. Не одеваясь я включил комп, набрал программу с нуля и она сдалась. Стоит ли говорить о полученном кайфе?)
Гораздо интереснее узнать решения D,E пожалуйста откликнитесь
Я было написал сейчас у себя в блоге, но сайт упал, и запись потерялась :(
Поэтому напишу здесь кратко:
d[i][j] - это искомая макс. сумма, если набрали i цифр первому человеку, j - второму, и просмотрели первые i+j цифр входного числа.
Чтобы сделать переходы, надо заметить, что от того, кому мы отнесём текущую цифру, ничего потом не зависит - т.е. к значению в новом состоянии динамики прибавляем текущую цифру, умноженную на нужную степень десяти.
Задача D.
Можно было писать явное моделирование разломов: т.е. делаем такую функцию, принимающую сначала прямоугольник (0,0),(W,H), и список всех разрезов. Эта функция ищет среди всех разрезов подходящий (т.е. который начинается на одном ребре текущего прямоугольника и заканчивается на противоположном), и применяет этот разрез: вызывает себя от двух оставшихся половинок, передавая им тоже разрезы (для простоты обоим вызовам можно передать всё тот же список разрезов - ничего от этого не сломается).
Можно было подойти по-другому: как бы нарисовать эти разрезы на клетчатом поле WxH, и найдя количество компонент связности. Чтобы это делать, как уже говорилось, можно развоить координаты: скажем, сказать, что клетки с четными координатами - это дольки шоколадки, а остальные клетки - это "стенки", на которые вставать нельзя, если через них проходит какой-то разрез. Или можно было просто для каждой клетки посчитать четыре флага: можем ли мы из неё пойти вверх,вниз,вправо,влево. В любом случае, мы получаем в итоге карту поля, в которой надо найти количество компонент связности, что легко делается обходом в глубину/ширину.
I'm using DP. The parameters are (index, player1 result, player2 result, nTurns for player1, nTurns for player2)
but I'm memorizing only on index and player1 result, as the rest can be calculated through those two. Player1 result is too large so i'm memorizing in map. Sure that gives me TLE on test case 14.
What can I do? Thanks very much.
Вопрос по задаче Д, тест 4, первый разлом. В условии написано:"Каждый разлом делит один кусок шоколадки на два непустых куска." и "Каждый разлом представляет собой параллельный одной из осей координат отрезок, проходящий от одной стороны куска до другой". Но этот тест противоречит написанному в условии, где справедливость?
Ну и чему же конкретно он противоречит? Насколько я вижу, пример корректен.
тем что поле 5 на 5 и первое разбиение 2 1 2 5 что значит что разрез не делит на две части начальное поле и он не доходит до нижней части прямоугольника!
E doesn't deserve 2400