Всем трям!
Вот наконец таки и я автор. Хочу сказать огромнейшее спасибо Артему Рахову [RAD] (благодаря ему вы поймете мои условия) и Марию Белову [Delinur] (тех кто знает мой уровень английского поймут насколько огромно моё спасибо). Также спасибо штабу кодфорсес за чудесную систему на которой все крутится (хотя правда полигон меня пугал по началу))). И также спасибо Сергею Тарасову [Seryi] и Андрею Ткаченко [Tkach1024] за генерацию идей и тестирование (и не надо волноваться что они синии - главное что люди хорошие).
Всем удачи и выского рейтинга обычно желают, но а я пожелаю вам чтобы эти два часа вы провели так, чтобы вам понравилось.
Сегодня разбивка по баллам будет немного отличаться от стандартной - для второго дивизиона 500-1000-2000-2000-2500 и 1000-1000-1500-2000-2500 для первого.
И ещё одна, но точно приятная, новость - теперь регистрация заканчивается ровно в момент начала раунда.
Как все было.В 19:35 по Московскому времени Egor сообщил, что у нас в 123B - Клетки в претестах ошибка (за что ему отдельное спасибо). И действительно, мной (и двумя другими проверочными решениями) не был рассмотрен частный случай (a = 1, b != 1 и симметричный ему). Было решено исключить тесты, подпадающие под этой случай. Таких тестов было очень много в претестах (все кроме одного). Генератор тестов был исправлен, и все тесты по задаче изменились. Потом был сделан реджадж. В связи с изменением претестов, некоторые посылки, получавшие WA, могли получить AC и наоборот.
Что есть сейчас.
Мы считаем, что раунд должен быть рейтинговым. Но если ситуация с задачей 123B - Клетки сильно на вас повлияла, вы можете подать апелляцию с доказательствами этого в виде личного сообщению RAD’у до 23:00 4 ноября. Мы можем либо сделать этот раунд нерейтинговым для вас, либо убрать лишние посылки.
После конца системного тестирования рейтинг обновится. Если вы не подаете апелляцию, то это - ваш итоговый рейтинг.
Всем пострадавшим приносим свои извинения.
Все-таки действительно Seryi контест :)
EDIT: Эх, удалили тему... А без нее шутка не понятна ;)
In which language this word "Tryam" belong to i think it's meaning something like "Hello" ,i tried to use google translator but it doesn't know it :)
There is a very popular Soviet cartoon named "Tryam! Hello!" :)
Seems to be music onomatopoeia, like [trɐm]-[pam]-[pam], [pam]-[pam]-[pam], etc.
Все зависит только от нас самих .... :)
Нет, не будет.
:)
Решил сегодня не выигрывать.
Не-не, не слышал :\
looks like people who had a better contest than they usually do, is saying to make it rated(not everyone). But isn't it justified to make the a contest unrated when you change the problem statement? You never know how that has affected somebody.
Note : Making it rated/unrated is not going to change my rating massively, maybe that's why I'm neutral :P
Чего ради было менять условие задачи B div 1, если тесты все равно, как оказалось, содержат случаи a=1 или b=1 ? Решение жюри неверно их обрабатывает ? :)
вроде да
UPD а вот и нет, см. ниже коммент Egor
У меня после добавления претестов вердикт из "пройдены" поменялся на ВА7.
Нас таких немного было, с ВА7, но я так и не понял, что там такого особенного:(
у меня лично был косяк с делением отрицательных чисел. потому что [x/a] для x<0 получается иногда на 1 больше, чем надо.
Исправленное решение должно верно работать и для a=1 или b=1.
upd. Ниже выяснили, что не должно...
У меня баг в том, что я прибавлял миллиард, чтобы выбраться с минусов:)
а миллиард при делении на а и б мог портить все на +-1.
уже сам понял
Предполагаю, что в изначальном варианте можно было кого-то поймать на переполнении 32-битного типа, а в новом варианте - уже нельзя.
Это ежу понятно)
Я после ВА на претестах понял, что у меня может быть проблема с неправильным целочисельным делением отрицательных чисел. Написал свой абс, везде сделал лонг лонг, прибавил константы везде...
И только теперь понял, что неправильную константу прибавлял для выхода с минусов.
теперь я отнимаю остаток от деления перед тем как делить
Так получается же, что все клетки плохие. При a = b = 1
не, случаи то a=1, b=1 не особенные, просто претесты другие стали и они свалили мое решение.
upd. чуть выше выяснили, что таки особенные.
понятно. видимо, отрицательно ни на кого не повлияло?
UPD вижу внизу, да :(
люди как B решать я не понял
А где это можно найти
http://ru.wikipedia.org/wiki/Комбинаторика
У Окулова подробно расписано, если нужно - могу скинуть
Вот так:
procedure perm(p, k: integer);
var q: integer;
begin
if k > p then <получил перестановку>
else
for q := 1 to p do
if not(used[q]) then
begin
used[q] := true;
cur[k] := q;
perm(p, k + 1);
used[q] := false;
end;
end;
"А почему тогда работает локально за 22 секунды этот тест?"
Скорей всего вы запустили ( если пишете в Visual Studio ) под дебагом. Нужно выбрать Release и запустить снова))
бля пиздецраунд в стиле Ripatti(((я тоже делал динамикой по автомату. 831465, а какой тест валит вашу динамику?
http://en.wikipedia.org/wiki/Karma
In the context Petr used it, it's basically the same idea as saying "bad luck in the future". In other words, it could potentailly be bad luck to criticize a problem writer. That bad luck, or "bad karma" may affect you negatively in the future in the form of poor contest performances, or other such things.
It's the idea that whatever you do comes back to you in the future. Do good, it will come back to you, do bad, it also will come back to you. So it's better to do good, if you can :).
Извиняюсь, был злой, хотелось ругаться. Но всё-равно с задачей B некрасиво получилось.
In the problem statement you can see this phrase "The only line contains the initial string s, consisting of small Latin letters"
quite on the contrary definition
Egor's earlier point ("Essential change of problem statement and pretests") holds for div 2 as well because that same problem he referred to was shared across divisions.
So div 2 people could have been affected by that same issue, so it wouldn't make sense to rate the contest for div 2 and not rate it for div 1.
I do remember seeing that some early submissions were made for D, but I can't say for sure if they were made before or after the announcement.
So if nobody was affected, then I think your point is valid.
Поддерживаю. Раунд надо объявить нерейтинговым, да простит меня Hohol за такие слова.
Раунд нерейтинговый - все вопят: "сделайте рейтинговый", раунд рейтинговый-все равно вопят... что за народ
it will be rated, it's written in russian version of the post
"Мы считаем, что раунд должен быть рейтинговым. Но если ситуация с задачей 123B - Клетки сильно на вас повлияла, вы можете подать апелляцию с доказательствами этого в виде личного сообщению RAD’у до 23:00 4 ноября. Мы можем либо сделать этот раунд нерейтинговым для вас, либо убрать лишние посылки."
It means(shortly):
"If you want round to be unrated, and problem 125B-Squares made big changes in your points, you should apeal to RAD until that time."
Sorry for bad english
Я, конечно, не решал несколько последних раундов (потому что они все время в одно и тоже время и в один и тот же день, а администрация плевать хотела на постоянные просьбы проводить соревнования в разное время или хотя бы разные дни недели). Но даже я заметил, что качество контестов на Codeforces упало в разы. Складывается стойкое ощущение, что задачи никто не проверяет. Дал автор задачу. Рассказал решение своим друзьям (помощники как бы), они его написали. Все - задача проверена. Условия пишут на "отпорись", их точно никто кроме друзей авторов не читает. А друзья - они такие друзья, что даже не могут ему сказать, что условие корявое и его нельзя давать читать живым людям. Как пустили в свое время задачу с неправильным решением от Сергея Ведерникова? Ее кто-нибудь вообще читал? Кто-нибудь ее сам пытался решить? Как в этот раз не заметили ошибки? Неужели никто не пытался сам решить эту задачу?
С последним тезисом согласен...Ниже уже написал, что неплохо бы сначала посчитать количество справедливо недовольных, прежде чем решать, rate или unrate
If someone wants this round to be rated, let him have it. There were problems, statement and tests were changed so this round should be unrated. Let's consider Egor's solution for problem B. He has the last submission skipped, which is accepted. Instead his earlier submission is taken into account, which fails. It's a joke, unrate this round.
Sorry, but I just can't imagine. Statement was changed 35 minutes after the contest start. Tests were also changed. Status of some solutions were changed (someone was allowed to hack earlier than he should, someone lost time, someone made wrong hack). The judging is ridiculous (look above) and you still want to make this round rated, with option to write some strange appeals and made changes by hand - unbelievable.
Если "спрятанность" какого-то факта не является самоцелью автора - то еще и лаконичность.
и почему же рейтинг до сих пор не обновлен? обычно почти сразу обновляется
Если вы реально считаете, что проблемы на контесте повлияли на лично ваш результат, то сообщите об этом жюри, ваш рейтинг не изменится.
Сейчас именно эту кнопку и сделали «напишите в личку RAD». В чем проблемы тогда у тех, кто думает, что пострадал?
Правда, жюри написало о «доказательствах». Проще, как я предлагал, сделать этот процесс гласным: отметить в таблице тех, кто отказался быть в рейтинге. Хотя, возможно и не одной отсылки по задаче B не сделал. Возможны законные вопросы от сообщества…
Тогда эту кнопку можно так и подписать "Я - говно".
И получится сервис, который только разжигает холивары.
But we are violet and should be very carefull! If you do not test, you take a big risk
Don't worry. I submitted A+B+E. Only E survived the tests. It looks funny in the scoreboard. After that A and B, each with one line more, got accepted :)
Во-первых, почему на все нечётные позиции выводится самая частая буква?
Во-вторых, почему на все чётные позиции ставятся все буквы, кроме самой частой?
Правильное решение - поставить самую частую букву на все места i, для которых в данном коде used[i] == true. Кроме того, надо не забывать, что и на места, для которых used[i] == false вполне спокойно может встать и самая частая буква.
На компьютере тот же код, что и на сервере? :)
Nevermind
В этот раз автор исправил задачу, убрав хитрый частный случай из условия. В тот раз - частный случай остался, но было переписано решение. Очевидно, первая стратегия корректировки задачи "на лету" затрагивает результаты меньшего числа участников, чем вторая, поэтому тогда и сделали раунд нерейтиговым для всех, а сейчас - только для недовольных.
Для любого простого p, такого, что 2p > n не существует позиций, которые должны быть равны равны позиции p. Символы на всех остальных позициях, кроме 1 должны быть равны. Это несложно строго доказать. Тогда возьмем самую популярную букву в строке и пихаем на все позиции, кроме 1 и p отвечающих условию выше. Если не смогли - говорим NO. Если смогли, то понятно, что в 1 и p можно пихать что угодно. Поэтому отвечаем YES.
Подстава)
Надо помнить, что они экспоненциально растут. Я к счастью помнил, во время контеста на всякий еще погуглил:
http://oeis.org/A000108/graph - видно, что при N = 100 будет под 10^60.
Я думаю, все долго понимали :)
А обозначает это следующее: вот мы получили список длины k (т.е. k пар чисел). Тогда от нас требуется узнать число подмассивов этого списка, т.е. число пар (l,r) таких, что:
Пусть K - множество пар чисел, а f: K->R отображение этого множества во множество действительных чисел.
Назовем отображение годным, если для любого k из K выполняется условие 2*f(k) = (f(k))^2.
Назовем отображение хорошим, если для любого k из K можно указать не более одного k1 из K, отличного от k, такого, что f(k) + f(k1) содержит только 4 и 7 в десятичной записи (без незначащих нулей).
Вам необходимо посчитать количество хороших, годных отображений, кроме отображения в нуль.
I reduced Problem A (Prime Permutation) to the problem ``given two sets , determine whether there exists a partition of A such that .'' Actually Problem A was a very special version of the latter problem in which only one element of B is greater than 1, which I didn't realize during the contest :-(.
The question is how to solve the latter problem in general. During the contest I thought it could be solved by DP and bipartite matching, but I couldn't finish coding.
http://ideone.com/Go65C judge is giving WA on 2nd test case ?
I don't understand why making this contest rated would make it any better? I think it should be unrated without any discussion (I didn't participate, so I don't have personal motives).
Suppose the entrance and exit are fixed. For a given edge x, what is the expected number of times that the DFS will traverse it before reaching the exit? For edges that lie on the path from entrance to exit, it's 1, because we will always traverse them exactly once. What about, say, another edge from entrance - what is the possible cases for it? Can we traverse it 0 times? once? twice? more? What are the probabilities of those cases?
could anyone tell me how to solve problem D?