Доброе утро (день, вечер, ночь)!
Авторы сегодняшнего раунда — Rei и yaro. Мы долго выбирали задачи для раунда и надеемся, что итоговый вариант вам понравится.
Наши благодарности координатору задач Артему Рахову за неизменную отзывчивость при совместной подготовке раунда, а также тем (тому), кто делает систему Codeforces все более удобной, функциональной и стабильной.
Удачи!
UPD. Разборы: А B C D E
Авторы сегодняшнего раунда — Rei и yaro. Мы долго выбирали задачи для раунда и надеемся, что итоговый вариант вам понравится.
Наши благодарности координатору задач Артему Рахову за неизменную отзывчивость при совместной подготовке раунда, а также тем (тому), кто делает систему Codeforces все более удобной, функциональной и стабильной.
Удачи!
UPD. Разборы: А B C D E
0 1 2 3
+ * +
Ответ = 1 (а многие сортировали операции и сначала умножали)
и C на следующих двух тестах:
1)
9 9 1
5 5
Ответ = YES
2)
11 11 1
6 6
Ответ = NO
5 5
Ответ = YES
9 9 1
5 5
(т.е. расстояние 4 до всех краев)
Будем двигаться вверх. У нас есть 4 хода, и за эти 4 хода противнику выгодно построить укрепления:
1) во-первых, над точкой (5 1) (мы туда угрозу все равно создадим)
2) во-вторых, слева от (1 1) и справа от (9 1). Если этого не сделать, то из точки (5 1) мы пойдем туда, где заграждения нет, создавая попутно угрозы наверх, а в углу будет двойная угроза.
3) От (1 1) и (9 1) затем пойдем вниз. Т.е. сопернику надо заблокировать еще и снизу от (1 9) и (9 9). Но у него остался только один ход, значит кекс выйдет-таки за пределы стола.
Получается, что надо 5 ходов, чтоб кекс не ушел.
Эх, классные задачи! На третьей взломал 7 решений на тестах 9 9 1 5 5 и 11 11 1 6 6. И во второй два решения. 13-ая комната принесла мне удачу :)
Я на A взломал парня, который написал if (n < 3 || n == 4), а еще на B пятерых и на C троих указанными выше тестами.
Теперь я желтый *YAHOO*
Это ты писал, что ооочень понравилась интерактивная задача с NEERC?
Так вот я считаю, они примерно одинаковы, за исключением того, что сегодняшняя проще для придумывания решения. В интерактивной задаче тоже не нужно было больших программистских способностей, тем не менее ты за неё проголосовал, как самую лучшую задачу 2010 года.
Вопрос не в интерактивности.
Объединяет то, что её могли решить также люди не сильно умеющие именно программировать. Там тоже было больше чем половиной задачи - придумать решение. И совсем не сложно закодить.
А мне вот кажется, что coding competitions — это скорее Development ветка на ТопКодере. А algorithm competitions — это всё-таки в том числе и придумывание решения, а не только его реализация. И хорошо, что на CodeForces не только первое, но и второе.
Кстати, почему это обязательно те, у кого выше рейтинг, должны лучше только кодить? Они должны лучше выступать по совокупности, то есть и думать в том числе лучше - чётче и быстрее.
Отличные задачи. Спасибо авторам.
Особенно порадовала задача D, давно не испытывал такого удовольствия от решения задачи. Интересная динамика, хитрое уменьшение состояний. В общем задача -- "конфетка".
PS Спасибо двум людям, которые взломали мое незаблокированное решение по задаче C ;)
у меня состояния toSet, mask, mod9, mod8, mod7, mod5, less
toSet -- сколько разрядов осталось еще поставить. mask принимает значения до 2^8 (0 мы не учитываем, а на 1 число всегда делится). Насчет последнего параметра (less). Как я понимаю он означает нужно ли нам ограничиться каким то значением разряда или нет (дабы не вылезти за обрабатываемое число). Результат ДП нужно запоминать только если он равен нулю, в случае единицы такое состояние будет вызываться только 1 раз и запоминать его не имеет практической ценности.
еще вот
LL dp[...][...][9][8][7][2][3];
попробуй заменить на
LL dp[...][...][9*8*7*2*3];
и при работе с запоминанием параметры умножать на соответствуеющее число.
UPD
Еще оказывается можно массивчик с запомненными параметрами не обнулять (если не использовать в запоминании параметр less так как описано выше ) :)
Привет всем!
Таки добрался я до этого сайта и не пожалел. Еще бы если контест почти на час не проспал =)
У меня два вопроса осталось...
1. Как в А доказать что это УЕС только на степенях двойки?
2. Можно ли посмотреть чужие решения после окончания и как?
Первый вопрос поддерживаю! Интересно, что это за доказательство.
Нашел, спасибо!
Не, это я тоже так решил дабы времени не тратить.
Но по факту получилось что степени двойки, и написать через степени было бы чуть быстрее. По этому интересно как бы это просто доказать.
Да, спасибо, похоже на правду.
Хотя, конечно, не самое просто доказательство чтоб его в уме можно было быстренько прикинуть =(
In problem C , almost everyone wrote same 2 line solution.
Alas, I did not give it a try.(the idea could have struck me too :( )
By the way, excelent contest, nice problems.
http://ace.delos.com/TESTDATA/OPEN10.tricount.htm
http://www.topcoder.com/wiki/display/tc/TCO'10+Online+Round+4
may I know if there is a proof for problem C? I am not sure how you can derive the answer.
Thanks!