Комментарии
На PetrPower towers problem, 2 дня назад
0

I encourage you to implement it (it shouldn’t be that big, should it?) and test it against the above testcase :)

На PetrPower towers problem, 2 дня назад
+4

Let’s wait a bit.

На PetrWorld finals blog: departure, 5 дней назад
+151
На AlexDmitrievTopCoder Open Algorithm Round 2B, 7 дней назад
+43

Похвастаюсь и тут, что у меня решение, которое я не успел додебагать на контесте, прошло в практис руме, и оно не использует то, что a маленькое.

Сводим к стандартной задаче подсчета суммы целых частей (a*x+b)/c по x от 0 до n-1.

Yeah, now I understand — it looks like the selection system is quite prone to this kind of thing happening.

When I was a participant at the Russian IOI camps, there was about 12 days on average that decided the team, not 2, so it was much more stable and most gaps were more than one problem.

Yeah, it’s a pity that IOI selection was decided on that :(

But how come it’s just one problem that decides who gets on the team and who doesn’t? How many problems in total affect the selection?

На PetrLive interview — April 12, today, 2 недели назад
-4

Apparently there was a technical problem with the recording, and most probably it’s lost :-( We’re trying to see if we can recover it from backups, but most probably it’s gone. Sorry.

Да, товарищ выше верно пишет — я не против пересечений как таковых, их действительно при текущем количестве контестов не избежать. Но хотелось бы знать об этих пересечениях заранее, и иметь возможность выбрать.

На PetrLive interview — April 12, today, 5 недель назад
0

Yes. Meanwhile, you can ask and vote for questions at http://goo.gl/eoWf0 :)

На snarknewsГран-При ICL, 6 недель назад
+5

Ну то есть, отвечая на второй вопрос — для подсчета time про третьего вообще забываем.

На snarknewsГран-При ICL, 6 недель назад
0

В этом сэмпле никто никого не может поймать — они же на цикле? Поэтому все time равны INF.

Считать time примерно так — построим ту часть графа, начинающуюся в вершине B, которая является деревом — т.е. как только мы доходим до цикла, помечаем эту вершину как “выход” и дальше не идём. В этой части есть ровно одна вершина, откуда стартует A — либо где он сейчас, либо где он появится. Подвесим часть за неё, тогда нужно на пути от B до корня понять, докуда B ещё может дойти, и из всех этих вершин найти самого глубокого ребёнка, считая глубину цикла INF.

На snarknewsГран-При ICL, 7 недель назад
+10

В G зашло в дорешивании следующее:

1) Пусть time(X,Y) = INF, если игрок X не может поймать игрока Y, и максимальному времени, сколько Y может сопротивляться, если X может поймать Y. 2) Тогда пусть win(A) = time(A, B), если time(A, B) < time(C, A) (вроде как естественное условие, но может кстати и без него будет работать?..) и time(A, B) < time(C, B) (иначе C может "встать между A и B и добиться ничьей), и INF иначе. Аналогично для win(B) и win(C). 3) Тогда если среди win есть единственный минимум, то он и побеждает в игре для троих, иначе ничья.

Выглядит правдоподобно, но это далеко не первая итерация, и все предыдущие тоже выглядели правдоподобно :) Может у кого-то есть объяснение или более простое работающее решение?

На kuniavskiCodeforces Round #114, 2 месяца назад
+22

У меня все было ровно так же до момента внимательного взгляда, ага. Надо его прокачивать, похоже :)

На kuniavskiCodeforces Round #114, 2 месяца назад
+5

Сорри, что все еще не допираю. Новые ходы ведь появляются во всех местах начиная с b?.. Или ты имеешь в виду, что нужно посмотреть, что b+1 проигрышная, дальше понять, что тогда до 2b+1 опять будет чередование, потом опять две проигрышных, и так далее, а потом заметить что прыжки на b^2 и больше ничего не меняют? Пожалуй, да, так можно было сделать :)

Интересно, какое соотношение тех, кто так сделал и тех, кто увидел закономерность в ответах :)

На kuniavskiCodeforces Round #114, 2 месяца назад
0

Ну я так и сделал, но вот закономерность увидел небыстро. Может если бы выписал для b=2 а не b=10 было бы легче и правда :)

На kuniavskiCodeforces Round #114, 2 месяца назад
+8

Можно на “ты” :) Я про решение подзадачи, когда есть ним с одной кучей и можно брать степени b. Доказательство SkidanovAlex выше уже прочитал, и правда просто. Остался второй вопрос — откуда может прийти в голову что важна четность остатка от деления на b+1 :)

На kuniavskiCodeforces Round #114, 2 месяца назад
+18

Ага. 80 минут ее решал, когда решил наконец, решил забить на раунд пока не поздно :)

Очень интересно, как это придумали люди — у меня получилось только методом внимательного всматривания в ответы и только за час :) Там какое-то простое соображение, или хотя бы какое-то простое доказательство?

На PetrFacebook Hacker Cup results, 2 месяца назад
+8

Она только финалистам похоже видна, да и результатов систеста там нет.

На PetrFacebook Hacker Cup results, 2 месяца назад
+21

По штрафному времени :) Как в ACM.

На PetrFacebook Hacker Cup results, 2 месяца назад
+1

Oops, I’m terribly sorry — the scoreboard contained a name in unknown language, but now that I look closer, it’s indeed in Korean.

Apparently Po-Ru doesn’t have a Codeforces account.

На HoholOpenCup гран-при Украины, 3 месяца назад
0

Ну пусть f(x) и g(x) два многочлена таких, что f(x)-f(x-1)=g(x)-g(x-1) для всех целых x. Тогда нетрудно заметить, что f(x)=g(x)+C (пусть C=f(0)-g(0), тогда f(1)-g(1)=f(0)-f(0)+f(1)-g(0)+g(0)-g(1)=f(0)-g(0)+(f(1)-f(0))-(g(1)-g(0))=f(0)-g(0)=C, и так далее.

На HoholOpenCup гран-при Украины, 3 месяца назад
+13

Выводится несложно, Вася Астахов вот например рассказал:

Пусть P_k(n) — это сумму k-ых степеней от 1 до n. Тогда P_k(n)-P_k(n-1)=n^k. Продифференцируем обе части: P’k(n)-P’k(n-1)=kn^{k-1}=k(P{k-1}(n)-P{k-1}(n-1)). Откуда P’k(n)=k*P{k-1}(n)+C, и надо всего лишь найти два коэффициента.

На HoholOpenCup гран-при Украины, 3 месяца назад
+94

Ээ, не понял. На кубке запрещено пользоваться Интернетом, какая разница есть инет на локальных компах или нет?

Если бы можно было пользоваться интернетом, мы бы сегодня часа полтора-два точно сэкономили.

На coolerFacebook hackercup — round 3., 3 месяца назад
+15

О! Скажи, результатов ждать в ближайший час или ложиться спать?

Да, пруф вроде верный. Из него кстати следует (да в общем и так понятно), что можно вместо бесконечности сделать 2, тогда точно нет проблемы с ТЛем.

С ходу не знаю, скорее всего как-то можно добиться лексикографической первости в каком-то смысле :)

Может, нужно просто все остальные ребра сделать бесконечной пропускной способности, тогда они не попадут в разрез?

На AliasScreenсast контестов, 4 месяца назад
+70
VLC это умеет, и картинка получается отличная вроде. В меню "Capture" или что-то вроде.
На anup.kalbaliaInvitation to the December Cook-off on CodeChef, 5 месяцев назад
+21
Если раскрыть скобки во всех операциях max, то видно, что dp[a][b][c] (для любых A,B,C) - это максимум из какого-то конечного числа линейных комбинаций с суммой коэффициентов 1 чисел 0 (мы слили), 1 (мы выиграли) и X (переигровка). При этом при X=P dp[VA][VB][MA]=P. Тогда, при X>P dp[VA][VB][MA]>=P получается просто из той же самой линейной комбинации, на которой достигался максимум при X=P, а dp[VA][VB][MA]<X получается из того, что все линейные комбинации имеют коэффициент при X меньше единицы (так как всегда есть ненулевой шанс что кто-то выиграет). При X<P dp[VA][VB][MA]>X получается из той же линейной комбинации, на которой достигался максимум при X=P, а dp[VA][VB][MA]<=P получается из того, что все эти линейные комбинации монотонно неубывают, поэтому если бы какая-то при меньшем X была больше P, то и при P осталась бы больше.
На kuniavskiSingle Round Match 527, 5 месяцев назад
+29
По-разному бывает. Когда решение длинное - то да, обычно ищу паленые идеи. Если совсем короткое - то читаю целиком ища и такие баги. Если догадываюсь, какой баг все должны сделать - сразу ищу его.

Можно на "ты" :)
На anup.kalbaliaInvitation to the December Cook-off on CodeChef, 5 месяцев назад
0
Never mind, I've read the editorial and the part that Gaussian elimination is not supposed to pass. It's strange that the assertions that verify that the Gaussian elimination error is not big do not fail in my solution, though.
На anup.kalbaliaInvitation to the December Cook-off on CodeChef, 5 месяцев назад
0
Could you share the testcase my solution fails on Random Walk?
На kuniavskiSingle Round Match 527, 5 месяцев назад
+92

Ну я просто смотрел, похоже ли решение на моё :)

+10
Хм, в этой версии есть переполнение инта, странно, что она работает. Вот вроде без бага:

http://pastebin.com/2Twssz4p
+5
Правда ваша - похоже, перепутал эту задачу с какой-то другой. На самом деле работает 1.1s:

http://pastebin.com/3FTvcHPh
+8
Дерево отрезков не нужно: нам ведь просто нужно посчитать длину объединения отрезков оффлайн :)
+16
У меня считалось количество компонент валентности 1 каждого размера - таких состояний 1.3M (каждая компонента имеет валентноть 0 либо 1, но компоненты валентности 0 нам не интересны - только их суммарный размер, который получается вычитанием).
+14
Ух ты! Зашло в дорешивании бфсом с двух концов.

А почему это быстрее, можно как-то осознать? Наверное же можно искуственно сделать, чтобы именно в среднем слое было мало состояний?
+18
Мы, конечно, писали на Java, но у Андрея на макстесте работало 0.1s, кажется. Так что и на плюсах должно было заходить :)
На touristCodeChef November Cook-off, 6 месяцев назад
+8
А, я кажется понял. Бессмысленно любого остатка в дельте брать больше k. Круто!
На touristCodeChef November Cook-off, 6 месяцев назад
0
Ого, понятно. А как это - в двух словах не объяснить?
На touristCodeChef November Cook-off, 6 месяцев назад
+5
Отличные задачи!

Единственное - что за лажа с тайм лимитом в задаче Buying Candies? Или ее надо было решать быстрее, чем за N*K^2?

У меня решение на яве не заходит, на плюсах еле зашло после оптимизации в 2 раза. Ну и все бревна из-за багов в переводе с явы на плюсы и в этой оптимизации.
На aropanCodeforces Beta Round #92, 6 месяцев назад
+10

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?


Please tell if that's not enough to figure it out.
На aropanCodeforces Beta Round #92, 6 месяцев назад
0
Yeah, Egor is right.
На aropanCodeforces Beta Round #92, 7 месяцев назад
+75
Yeah, let's lose some karma :)

I agree.

Problem C:
a simple idea + standard problem. Implementing solution for standard problem takes much more time than inventing the idea.

Problem D:
a simple idea + standard problem. And an awful statement. "We'll find a list of such pairs of numbers for which the corresponding substrings of string x are equal to string y. Let's sort this list of pairs according to the pair's first number's increasing. The value of function F(x, y) equals the number of non-empty continuous sequences in the list." Seriously? What's the point in encrypting n(n+1)/2 that way? I've spent several minutes trying to convince myself what "continuous" means (I've used the Russian statement, but the English translation is good, so the statement is equally awful), I couldn't believe this long paragraph is just about n(n+1)/2.

Problem E:
a nice, no so easy idea - but still with a tedious standard problem after it! Why 100000? Why not 5000?

I'm sorry for being so negative, I hope you understand it's just my impressions. See http://www.mit.edu/~jcb/tact.html
На yarrrOpen Cup: Гран-При Санкт-Петебурга, 7 месяцев назад
+5
Мы, когда запихивали, одной из оптимизаций сделали запоминание giant step, и перебор baby step. Ведь чтобы сделать baby step, нужно умножить на x и взять остаток, а это за 3 битовые операции делается - poly <<= 1; if ((poly & (1L << 32)) != 0) poly ^= MOD;
На yarrrOpen Cup: Гран-При Санкт-Петебурга, 7 месяцев назад
+8
Ага, видимо у тебя то же самое решение, только с 2->inf.
На yarrrOpen Cup: Гран-При Санкт-Петебурга, 7 месяцев назад
+18
То, что я писал на контесте, но не успел, и потом оно зашло в дорешивании: сгенерируем N тестов, потом будем делать каждый ход или два так, чтобы минимизировать сумму f(позиция в каждом тесте) для некоторой функции f. Если f - просто расстояние до выхода, то не работает - в некоторый момент упирается в локальный минимум. Сработало f = -2^(-расстояние_до_выхода). Тогда при тренировке на N=20000 тестах оно сходится за 5000 шагов (на всех 20000 тестах приходит в выход), и на независимом тест-сете получается в среднем 800 шагов на тест (а на трейнинг сете 700).

Вот код.

В пост призывается Gassa, чтобы рассказать, что решение жюри дает в среднем 500 шагов, и как оно это делает :)
+13
Да, спасибо! Фотки хорошие.
+3
Сообщаю - логина на dropbox нет,  store.acm-server.ru, похоже, выключен или лежит. Выложи .torrent файл куда-нибудь еще?
На EgorGoogle CodeJam World Finals, 10 месяцев назад
+11
Ну это уж не моя вина - сколько можно спать :)
На EgorGoogle CodeJam World Finals, 10 месяцев назад
0
I have no idea. 
На EgorGoogle CodeJam World Finals, 10 месяцев назад
0
And the contest is over with no major changes at the top. meret with 100, then rng_58 with 90, then ivan.metelsky with 77. Let's wait for the large results to be revealed.
На EgorGoogle CodeJam World Finals, 10 месяцев назад
0
But meret retakes the lead with B-large and 100 points.
На EgorGoogle CodeJam World Finals, 10 месяцев назад
+20
darnley is the first to solve C-small - here is the reason for his silence!

Meanwhile, rng_58 leads after solving A-small and A-large with 90 points.
На EgorGoogle CodeJam World Finals, 10 месяцев назад
+12
47 minutes to go, 3 people with 77.
На EgorGoogle CodeJam World Finals, 10 месяцев назад
+17
Meanwhile, we have a new leader - ivan.metelsky leads with 77 points by solving D-small. If we add up points for all datasets solved by at least one contestant, though, we get 140.
На EgorGoogle CodeJam World Finals, 10 месяцев назад
+12
winger submits A-small and we now know that the unknown wrong on E-small was due to him. 

zyz915 submits B-small and the unknown wrong there was probably due to him.

There are no more unknown wrongs, and darnley is the only one with no submissions.
На EgorGoogle CodeJam World Finals, 10 месяцев назад
+19
That long silence from rng_58 was for a reason - E-small+E-large and tentative second place!
На EgorGoogle CodeJam World Finals, 10 месяцев назад
+12
And that means we have a new leader - donehl
На EgorGoogle CodeJam World Finals, 10 месяцев назад
0
B-large is now submitted by 2 contestants.
На EgorGoogle CodeJam World Finals, 10 месяцев назад
0
It was Egor - a timeout for him as well.

Meanwhile, still no submissions from winger, zyz915, rng_58darnley. There's one unknown incorrect submission on B-small and one on E-small, but at least two of them thus have no attempts at all!

neal was the first to solve D-small. 
На EgorGoogle CodeJam World Finals, 10 месяцев назад
0
Somebody else has attempted B-large. We'll learn who in 8 minutes :)
На EgorGoogle CodeJam World Finals, 10 месяцев назад
0
According to https://plus.google.com/110928860973677468355/posts/8wLb6QCw7eG, nika didn't make it. All others from Egor's post are there.
На EgorGoogle CodeJam World Finals, 10 месяцев назад
0
meret finally solves all "opened" problems. Since he doesn't have wrong submissions, one needs to solve something else to overtake him.
На EgorGoogle CodeJam World Finals, 10 месяцев назад
0
Wow, an unexpected submit from voover - I didn't even know he was participating - apparently somebody from http://apps.topcoder.com/forums/?module=Thread&threadID=706558&mc=114#1387375 couldn't make it.
На EgorGoogle CodeJam World Finals, 10 месяцев назад
0
At mid-contest, he's still in the lead. The problems solved by at least one contestant are A-small, A-large, B-small, E-small, but nobody got all of them (yet?).
На EgorGoogle CodeJam World Finals, 10 месяцев назад
0
Now meret takes the lead by solving A-small and A-large in addition to E-small.
На EgorGoogle CodeJam World Finals, 10 месяцев назад
0
And vepifanov submits A-large to take the lead from pashka, despite the latter submitting B-small.
На EgorGoogle CodeJam World Finals, 10 месяцев назад
0
ACRush and vepifanov now have non-zero scores on two problems. Both just small inputs yet, though.
На EgorGoogle CodeJam World Finals, 10 месяцев назад
0
1h18m - pashka still leading with 30 points. He was in the lead (shared for the first 25ish minutes) during the entire contest so far!
На EgorGoogle CodeJam World Finals, 10 месяцев назад
0
And a time-expired for him on B-large. Ouch.
На EgorGoogle CodeJam World Finals, 10 месяцев назад
0
More than an hour into the contest, still just 11 contestants with successful submissions.
На EgorGoogle CodeJam World Finals, 10 месяцев назад
0
There's probably too much submissions now to enumerate them. ACRush is the first TC target to submit a problem. B-small, after 2 wrong attempts. A 8-minute penalty to carry through the entire contest.
На EgorGoogle CodeJam World Finals, 10 месяцев назад
0
So does donehl
На EgorGoogle CodeJam World Finals, 10 месяцев назад
0
ivan.metelsky gets A-small.
На EgorGoogle CodeJam World Finals, 10 месяцев назад
0
There's also a long-standing attempt at D-small which I guess was unsuccessful since it's been more than 4 minutes.
На EgorGoogle CodeJam World Finals, 10 месяцев назад
0
And hanshuai. None of the submitters is a TopCoder target, while 5 of the competitors are. What are the heavyweights doing?
На EgorGoogle CodeJam World Finals, 10 месяцев назад
0
Four people with non-zero scores now, all from Russia: pashka, Evgeny Kapun (no CF handle?), RAD, vepifanov.
На EgorGoogle CodeJam World Finals, 10 месяцев назад
+1
pashka submits A-large as well. It looks like there's not much to get WA on, so hopefully it's good.
На EgorGoogle CodeJam World Finals, 10 месяцев назад
0
Meanwhile, there are also attempts at A-large and E-easy.
На EgorGoogle CodeJam World Finals, 10 месяцев назад
0
From vepifanov, also correct. Go Russia!
На EgorGoogle CodeJam World Finals, 10 месяцев назад
0
And there's also an attempt at B-easy.
На EgorGoogle CodeJam World Finals, 10 месяцев назад
0
Finally pashka gets A-easy!
На EgorGoogle CodeJam World Finals, 10 месяцев назад
0
Or maybe too tough? 25 minutes, still not even an easy input submission.
На EgorGoogle CodeJam World Finals, 10 месяцев назад
+10
Still no submissions at 15 minutes. Apparently the problems are tough, good!
На EgorGoogle CodeJam World Finals, 10 месяцев назад
+5
На EgorGoogle CodeJam World Finals, 10 месяцев назад
+15
No, I'm in Juan-les-Pins now :)
На EgorGoogle CodeJam World Finals, 10 месяцев назад
0
I'd guess people are still setting up because of some previous event (breakfast? :)) running late.
На EgorGoogle CodeJam World Finals, 10 месяцев назад
+10
No. I'm on vacation without contact with the event :)
На EgorGoogle CodeJam World Finals, 10 месяцев назад
+5
Apparently the contest gets postponed over and over again :)
На EgorGoogle CodeJam World Finals, 10 месяцев назад
+5
What is the main place where the spectators discuss what's going on?
На EgorTopCoder Open Round #4, 10 месяцев назад
0
Ну, точнее, я на автомате подумал, что целевая функция - это сумма модулей разностей, как было бы естественно, а не модуль суммы разностей. А тогда увеличивать бессмысленно.
На EgorTopCoder Open Round #4, 10 месяцев назад
+13
Нельзя увеличивать мощность. Это, видимо, не написано явно в условии, но я почему-то так понял :)
На EgorTopCoder Open Round #4, 10 месяцев назад
+8
Практис рум появился, систест прошло. Код можно там тоже посмотреть теперь.
На EgorTopCoder Open Round #4, 10 месяцев назад
+5
Кмк, это минимальный разрез. Для каждого радара построим две цепочки - одна из "выходных" вершин, вторая из "входных", по одной вершине для каждой мощности. Разрез цепочки "выходных" или "входных" вершин между мощностями i и i+1 соответствует уменьшению мощности до i. Есть дуга из "выходной" вершины от одного радара до "входной" вершины другого когда соответствующие окружности пересекаются. Ну и надо разрезом отделить левую сторону от правой.

Плюс еще можно пооптимизировать, убрав много ненужных вершин и ребер.

Я написал за минуту до конца, но не прошел сэмплы. После контеста нашел два бага, сэмплы теперь проходят, практис рума пока нет :)
На goryinyichCodeforces Beta Round #78, 10 месяцев назад
+10
Я так понимаю, что условие подразумевало (как мне кажется, верное) утверждение, что существует наша стратегия, дающая максимальную вероятность выигрыша при _любой_ стратегии противника.
На caustiqueTopCoder SRM vs Harry Potter, 10 месяцев назад
+4
Логично - я стал в топкодере только после финала участвовать :)
На wituaCodeforces Beta Round #77, 10 месяцев назад
+23
Нет, зачем пара стеков. Во-первых действительно все остатки по модулю x рассматриваем отдельно. Для каждого нам нужно найти min(a[i], a[i-1]+1,a[i-2]+2,...,a[i-y]+y) для каждого i. Обозначим b[i]=a[i]-i. Тогда получаем, что нужно найти min(b[i]+i,b[i-1]+i,...,b[i-y]+i)=i+min(b[i],b[i-1],...,b[i-y]). То есть нужно найти минимумы b'шек на отрезках длины y+1. Это проще всего сделать так: разобьем весь отрезок на куски по y+1, и в каждом куске подсчитаем минимум от каждого числа налево и направо. Тогда любой отрезок длины y+1 представляется в виде объединения двух уже подсчитанных отрезков.
На wituaCodeforces Beta Round #77, 10 месяцев назад
0
Откуда?