Прямой эфир
На AlexDmitrievFacebook hacker cup — Round 2, 40 минут назад
+1

Круто, лег спать за 2 часа до конца раунда и занял 41 место:) А еще всю ночь кошмары снились про то, что первая задача упала

На AlexDmitrievFacebook hacker cup — Round 2, 42 минуты назад
0

Ой… что-то я туплю… своё то решение оттуда взял :) Спасибо!

На AlexDmitrievFacebook hacker cup — Round 2, 45 минут назад
-1

Инпут где взять? Или свой?

P.S. И да, там теперь можно скачать решение чьё угодно, можно взять любое подходящее и прогнать на своих тестах

На AlexDmitrievFacebook hacker cup — Round 2, 46 минут назад
0

Я в первой использовал систему непересекающихся множеств… Сначала объединял все множества рёбрами, на концах которых нет важных городов, потом добавлял оставшиеся дороги. Когда добавлял очередную дорогу, хотя бы на одном конце которой есть важный город, считал количество попыток объединений множеств с “самим собой”

На AlexDmitrievFacebook hacker cup — Round 2, 50 минут назад
-1

У кого первая прошла, дайте пожалуйста ответы.. а то никак не могу понять, где у меня ошибка..

На AlexDmitrievFacebook hacker cup — Round 2, 56 минут назад
+4

Поздравляю :) Сам тоже доволен, как слон, до разморозки был 161 :)

Что-то я как-то… Проснулся даже

На AlexDmitrievFacebook hacker cup — Round 2, 81 минуту назад
+8

Резы появились, круто быть 99, учитывая что до разморозки был 166)

На iroroRegexp of divisibility by 3 :), 5 часов назад
Пользователь создал или обновил текст
На AlexDmitrievFacebook hacker cup — Round 2, 7 часов назад
0

перезалил. `

На AlexDmitrievFacebook hacker cup — Round 2, 7 часов назад
0

Твой инпут прерывается на 17 тесте…

На AlexDmitrievFacebook hacker cup — Round 2, 7 часов назад
0

Да, сейчас допер уже, что не откуда. просто считал что проверка по n модулям, каждая за o(n) итого n^2, а потом понял, что там каждое число как раз 1 раз используется и o(n) в сумме.

На AlexDmitrievFacebook hacker cup — Round 2, 7 часов назад
0

да неоткуда ей взяться.

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

На AlexDmitrievFacebook hacker cup — Round 2, 7 часов назад
+5

полная формула: (M - (N - S)) - (M1 - (N1 - S1)) где S это кол-во компонент связности, а 1 это то же самое, но только по неважным городам. Первое слагаемое в формуле — это сколько надо удалить рёбер чтобы получилось дерево, второе — сколько рёбер всё-таки не надо удалять.

На AlexDmitrievFacebook hacker cup — Round 2, 7 часов назад
0

Ну да, логи более менее не страшны. мне просто казалось третья степень вылазит.

На AlexDmitrievFacebook hacker cup — Round 2, 7 часов назад
0

А не.. тупанул. Я решал двумя обходами… видимо именно как у вас написано.

На AlexDmitrievFacebook hacker cup — Round 2, 7 часов назад
+18

Во второй, рассмотрим такое бинарное дерево, терминальные вершины — это вершины, которые пока не боссы и не подчиненные (компоненты размера 1). При появлении связи (u, v) найдем каким компонентам принадлежат вершины u, v — пусть это c1, c2, тогда найдем в дереве узлы, соответсвующие с1 и с2, создадим новую вершину, которая будет иметь два сына — узел для c1, для c2, т.е. теперь новая вершина соотвествует компоненте c1+c2. После это построения можно сделать динамику F(i,j) — минимальная высота дерева с корнем в i с учетом того что кол-во сыновей (характеристика, которая ограничивается D) должно быть <= i.

На AlexDmitrievFacebook hacker cup — Round 2, 7 часов назад
0

То есть ответ можно найти так: n-k+h, где k-кол-во компонент связности, h — кол-во рёбер, у которойх оба конца — неважные города?

На AlexDmitrievFacebook hacker cup — Round 2, 7 часов назад
+5

В первой можно и дфсить из каждой хорошей вершины, и если мы нашли какое-то ребро, ведущее в нее, то удалим его.

На AlexDmitrievFacebook hacker cup — Round 2, 7 часов назад
+10

В первой оказывается можно не убирать рёбра между неважными городами. Остальные убираем чтобы было дерево, поэтому ответ вычисляется из кол-ва рёбер, кол-ва вершин, кол-ва компонент связности, и тому же самому но только по неважным городам.

На AlexDmitrievFacebook hacker cup — Round 2, 7 часов назад
+5

n ^ 2 log n log k вроде бы как. Ведь мы перебираем старт, для него дихотомией решаем задачи за ассимптотику n log n.

На AlexDmitrievFacebook hacker cup — Round 2, 7 часов назад
-2

upd: нет. видимо n^2 log n. ОК. Чтобы это написать оставалось пару строк, дебажил какую-то фигню)

На AlexDmitrievFacebook hacker cup — Round 2, 7 часов назад
+3

Объясните кто-нибудь и первые две тогда

На AlexDmitrievFacebook hacker cup — Round 2, 7 часов назад
+10

Не успел докодить. решение такое. Пусть мы знаем отрезок [a, b]. Тогда посчитаем в нем количество различных чисел. Для начала разобьем этот отрезок на N подпоследовотельностей, возможно, некоторые будут пустые, такие что в каждой из них у нас индексы элементов сравнимы по модулю N. Получили N таких подпоследовательностей. В каждой из них мы можем легко найти первый и последний элемент. Теперь давайте пробежимся по каждой из таких последовательнстей. Мы можем узнать остаток от деления на N первого элемента в каждой из них ( а каждая такая последовательность — это арифметическая прогрессия с разностью N). Тогда, если мы запомним для каждого rem какие последовательности были, то есть первый член и последний, то мы тогда получим что у нас для каждого rem есть набор отрезков ( вида rem + xN, rem + yN, где x, y — нам уже известны). Тогда посчитаем их длину их пересечения. Это будет число различных чисел для данного остатка. Проитерировав по всем остаткам, получим общее число различных числе для отрезка [a,b]. Теперь давайте решать исходную задачу. Перебираем индекс a = 0, … , N — 1 Дихотомией перебираем индекс b. пусть мы нашли, что нам подходит [a, b]. Тогда понятно, что и [a, b + delta] подходит, а также будет подходить отрезок [a + N, b + N]. Тогда мы можем посчитать число валидных отрезков. начинающихся от этого элемента. Посчитаем общее число валидных и выведем ответ.

На AlexDmitrievFacebook hacker cup — Round 2, 7 часов назад
+9

Элементы растут в среднем на 1. Зафиксируем начало отрезка и будем идти вправо, считая элементы которые еще не встречались, где-то через 100000 элементов новые будут встречаться периодически, то есть если среди N позиций 1-ая 4-ая и 9-ая была новой, то в следующих N на этих позициях тоже будут стоять новые числа. Кроме того если сдвинуть начало отрезка на N в любую сторону, то “новые” элементы тоже сдвинутся. Получается, что достаточно перебрать начало отрезка от 0 до N - 1, посчитать где должен быть его конец x, он на промежутке Unable to parse markup [type=CF_TEX] тоже смещается вправо, и посчитав сумму арифметической прогрессии R - R1, R - (R1 + N), … мы учтём все отрезки, начало которых делится на N с определённым остатком.

На AlexDmitrievFacebook hacker cup — Round 2, 8 часов назад
0

Спасибо, печалька..

На AlexDmitrievFacebook hacker cup — Round 2, 8 часов назад
+5

md5: c8d468eb0d7c0d762071e74b92c8e2ef

На AlexDmitrievFacebook hacker cup — Round 2, 8 часов назад
+1

Как решать Sequence Slicing ?

На AlexDmitrievFacebook hacker cup — Round 2, 8 часов назад
0

Меня несколько смущают последние 4 ответа 0/1 в последней. Может кто-нибудь потестить на моем инпате если не сложно?

upd: нашел косяк, не умею решать…, хотя если все же кто-то выложит ответ — буду благодарен

На QuercitronЗадача на графы, 8 часов назад
+2

К сожалению уже прошли те времена, когда можно было случайно доказать какую-нибудь задачу столетия/тысячелетия.

На QuercitronЗадача на графы, 8 часов назад
0

Зачем же такое говорить? Может, в этом обсуждении бы случайно решили проблему Кука :)

На AlexDmitrievFacebook hacker cup — Round 2, 10 часов назад
+5

Их нельзя прочитать, если не прошел :(

На AlexDmitrievFacebook hacker cup — Round 2, 10 часов назад
Пользователь создал или обновил текст
На NickolasCodeforces Round #105 (Div. 2), 10 часов назад
0

Не подскажете, а разбор будет? уже вижу..

На AlexDmitrievFacebook hacker cup — Round 2, 11 часов назад
0

Добавьте эту ссылку в тему: https://www.facebook.com/hackercup/problems.php?round=154897681286317

На AlexDmitrievFacebook hacker cup — Round 2, 11 часов назад
-5

Туда вроде ради контестов и ездят:) Ловите два)

На AlexDmitrievFacebook hacker cup — Round 2, 11 часов назад
+12

Наверное, тут.

На AlexDmitrievFacebook hacker cup — Round 2, 12 часов назад
+3

Можно ли будет где-нибудь наблюдать за таблицей результатов?

UPD. Скорее всего тут.

На AlexDmitrievFacebook hacker cup — Round 2, 12 часов назад
-12

Ой как мы сочувствуем:) Вариант пропустить Facebook HC рассматривался?

На AlexDmitrievFacebook hacker cup — Round 2, 14 часов назад
+3

Ой, спасибо! Чуть не забыл!

На AlexDmitrievFacebook hacker cup — Round 2, 15 часов назад
+13

А кому-то еще в Петрозаводске завтра контест писать…

На AlexDmitrievFacebook hacker cup — Round 2, 15 часов назад
+9

Не трави душу))

На AlexDmitrievFacebook hacker cup — Round 2, 16 часов назад
+25

%s + “А я спать.”

На AlexDmitrievFacebook hacker cup — Round 2, 16 часов назад
-7

Удачи вам!

На AlexDmitrievFacebook hacker cup — Round 2, 16 часов назад
+15

3 часа продлится

На QuercitronЗадача на графы, 16 часов назад
-1

Может быть потому, что если человек задает вопрос, то ему, вероятно, не очевидно.

А если Вам очевидно, то вполне можно было и рассказать.

На mostafa_fahimSubmission Error, 18 часов назад
0

I think every thing is ok now,

На mostafa_fahimSubmission Error, 18 часов назад
+3

I also have the same problem using Java.

На mostafa_fahimSubmission Error, 18 часов назад
-1

I have the same problem on Python)

На mostafa_fahimSubmission Error, 18 часов назад
+3

no , um using java

На QuercitronЗадача на графы, 18 часов назад
+5

Поток минимальной стоимости в графе с отрицательными ценами и циклами строится беллманом фордом. Если есть просто цикл даже не связанный с истоком и стоком (граф несвязный), то мы должны будем пустить по этому циклу поток, чтобы уменьшить стоимость. Отсюда мы видим, найти путь минимальной стоимости в этом графе, и найти единичный поток минимальной стоимости это разные задачи. Вторая решается эффективно беллманом фордом, первая не имеет быстрого решения, иначе мы могли бы решать задачу Коммивояжера как я описал.

На mostafa_fahimSubmission Error, 19 часов назад
+3

Are you using Python on this problems?

На mostafa_fahimSubmission Error, 19 часов назад
Пользователь создал или обновил текст
На QuercitronЗадача на графы, 20 часов назад
Пользователь создал или обновил текст
На QuercitronЗадача на графы, 20 часов назад
0

Как мне видится, если в построенном таким образом графе найти поток минимальной стоимости, то это решит задачу. Но можно ли его быстро найти? Я совсем не силен в потоках, но первая проблема, которая мне бросается в глаза – наличие в графе с ценами циклов отрицательного веса. Как в этом случае быстро находить поток? Мне кажется, что при этом мы вернемся к тому, с чего начинали.

Это один из вариантов, есть вариант опенкапа http://opencup.ru/index.cgi?data=macros/results&menu=index&head=index&ncup=oca&class=oca&region=main

проблема в том, что команда может побывать 1 день в высшей лиге, а остальное время в юниорской, при этом там набрать много баллов и быть в таблице по высшей лиге на более высоком месте чем команда, которая все время была в высшей, из-за чего нельзя точно определить, какая из команд сильнее логичнее в таком случае сделать так, как было в Севастополе, т.е. если команда участвовала и в высшей лиге, и в юниорской, то в таблице по высшей лиге учитывать только те балы, которые команда набрала за те дни, что она была в высшей, и, соответственно, также и по юниорской

На QuercitronЗадача на графы, 20 часов назад
+6

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

На QuercitronЗадача на графы, 20 часов назад
+1

А, понятно в чем ошибка. Суть в том, что макс поток ищет и нулевые потоки, т.е. если в сети существует отрицательный цикл, то МинКостФлоу пустит по нему поток кругом, не добавив при этом величины к потоку от s к t. Это мешает нам сделать рёбра между раздвоенными вершинами отрицательными. И стоит пересмотреть предложенное мною решение исходной задачи, возможно оно также ошибочно.

На QuercitronЗадача на графы, 20 часов назад
+10

+1. Если решить эту задачу за полином, то перебором стартовой вершины за O(n) можно не просто проверить граф на гамильтоновость, но и найти гамильтонов путь если он существует.

Смотрите еще внимательнее. Команда ДонНТУ в один из дней была в Высшей лиге,а в остальные в юниорской, поэтому она имеет два результата.

На QuercitronЗадача на графы, 20 часов назад
+3

Думаю, что как и MikeMirzayanov. Минусовать то за что?

На QuercitronЗадача на графы, 21 час назад
-1

да, ты прав

На QuercitronЗадача на графы, 21 час назад
+13

чё-то я гоню, ибо мне кажется я решил задачу коммивояжера с подачи MikeMirzayanov: назначим на на рёбра i * 2 -> i * 2 + 1 стоимость -1e30, на остальные рёбра w, будем в самом начале перебирать ребро (x, y), которым путешествие завершится, и исключать его из графа, исток в x * 2, из y * 2 + 1 в сток. Покажите где ошибка?

На QuercitronЗадача на графы, 21 час назад
+1

Уточняющий вопрос для проверки понимания. Разве ребро из истока не должно идти в start * 2? Мне кажется, что если оно идет в start * 2 + 1, то появляется возможность пройти через start второй раз, что не соответствует постановке задачи.

На QuercitronЗадача на графы, 21 час назад
+22

Разве это не эквивалентно проверке графа на гамильтоновость, что NP-полная задача?

На QuercitronЗадача на графы, 21 час назад
-7

конечно неочевидно, ибо я привел решение.
Upd: я ошибся

На QuercitronЗадача на графы, 21 час назад
+3

Не могли бы Вы пояснить, почему она не решается за полином? Для меня это не так очевидно.

На QuercitronЗадача на графы, 21 час назад
+4

А хотя, это не важно. Я нашёл решение и для взвешенного графа. Раздвоим каждую вершину i на две (i * 2, i * 2 + 1), , если было ребро i -> j, стоимостью w, добавим в граф ребро (i * 2 + 1, j * 2, -w). Ребра (i * 2, i * 2 + 1) имеют пропускную способность 1 и стоимость 0, из истока ребро в start * 2 + 1, из i * 2 + 1 рёбра в сток. Найдём поток минимальной стоимости.

На QuercitronЗадача на графы, 21 час назад
0

Да. Обновил условие.

На QuercitronЗадача на графы, 21 час назад
-5

Безусловно, она не решается за полином, если граф взвешенный

На QuercitronЗадача на графы, 21 час назад
+3

Граф невзвешенный? т.е. цена всех рёбер еденица, да?

ok, я нашел в правилах, там линукс

Пользователь создал или обновил текст
На QuercitronЗадача на графы, 21 час назад
0

Контрпример. Граф c ребрами: 1 2 1 3 3 2

На QuercitronЗадача на графы, 21 час назад
+5

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

На QuercitronЗадача на графы, 21 час назад
+1

Ошибочка вышла, прошу прощения, бред написал.

На arpit_sRe : Precision Issues, 23 часа назад
0

No. You must use epsilon to compare doubles. x >= y -> (x > y || fabs(x - y) < 1e-9).

На javajavaДерево отрезков, 26 часов назад
+3

лично я пишу реализацию снизу, так как кода там намного меньше. Но к реализации сверху очень просто прикручиваются операции на отрезках, что при реализации снизу сделать ОЧЕНЬ сложно:)

На SkiminokМагистратура СПбАУ РАН?, 26 часов назад
0

Эм… Ну вот, написал подробный ответ, и всё сбросилось. Очень хорошо…

Тогда в двух словах:

Подводный камень — нагрузка такая, что о чём-то думать кроме учёбы просто невозможно. Особенно если с математикой особой дружбы нет…

Что касается Украины — об этом можно спросить у человека из Украины. Но, вроде, никаких “аспектов” ни у Украинцев, ни у Белорусов, ни у граждан Узбекистана не возникало.

А вообще, есть же куча разных мероприятий на которые можно приехать и посмотреть.

UPD: О, удалось запостить хоть что-то с n-ой попытки…

На SkiminokМагистратура СПбАУ РАН?, 26 часов назад
0

Эм… Ну вот, написал подробный ответ, и всё сбросилось. Очень хорошо…

Тогда в двух словах:

Подводный камень — нагрузка такая, что о чём-то думать кроме учёбы просто невозможно. Особенно если с математикой особой дружбы нет…

Что касается Украины — об этом можно спросить у человека из Украины. Но, вроде, никаких “аспектов” ни у Украинцев, ни у Белорусов, ни у граждан Узбекистана не возникало.

А вообще, есть же куча разных мероприятий на которые можно приехать и посмотреть.

На SkiminokМагистратура СПбАУ РАН?, 26 часов назад
+20

Добрый день.

Подводный камень (может для кого-то весьма существенный) — тут грузят так, что о чём-то кроме учёбы думать не приходится. Это я за большинство говорю, вообще находятся уникумы…

По мнению человека с последнего курса (т.е. это я не своё мнение воспроизвожу), система образования построена так, что в самом начале даётся мощная математическая подготовка, что бы вся группа вышла на нормальный уровень (в это время не особо сладко приходится тем, кто с математикой не особо дружил в своём предыдущем ВУЗе — хотя это всё, вроде, не смертельно…), а потом любое программирование и сопутствующие технологии просто на ура ложатся на такую математическую базу.

Что касается Украины — можно об этом спросить у человека который тоже из Украины… Хотя, вроде ни у кого из не граждан России никаких “аспектов” не возникало.

На arpit_sRe : Precision Issues, 26 часов назад
0

Hi,

In http://codeforces.com/submissions/arpit_s

1st solution from top 1144453 gives correct answer — here i am accumulating total distance and calculating time from that.

4rth solution from top 1144243 gives Wrong answer — here i am accumulating total time and calculating distance from that. It gave WA where my answer differed from actual solution by 1. If precision issue is there, then it should be in both cases, isn’t it ?

На NickolasCodeforces Round #105 (Div. 2): editorial, 27 часов назад
+7

Да, я это заметил. Но мне понадобилось несколько секунд, чтобы посмотреть тест и её разрешить.

На emotionalBlindMy problem solving blog, 28 часов назад
0

Thanks.

На MaximShipkoTracker Codeforces::Тренировки, 32 часа назад
+4

-1) после виртуальной тренировки пропадают посылки.

На MaximShipkoTracker Codeforces::Тренировки, 34 часа назад
0

Исправлено

На NickolasCodeforces Round #105 (Div. 2): editorial, 34 часа назад
+5

Ну почему же, здравая и обоснованная критика ещё никому не вредила. Другое дело, что не стоит, пожалуй, настолько перегибать палку.

На NickolasCodeforces Round #105 (Div. 2): editorial, 34 часа назад
-3

Однако заметьте, что в данном случае формализация получается неоднозначная — в этом и вся проблема, не более.

На javajavaДерево отрезков, 34 часа назад
+5

http://codeforces.ru/blog/entry/1256 здесь описывается нерекурсивный метод

На javajavaДерево отрезков, 35 часов назад
+5

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

Рекурсивно:

       [0,4]
   [0,2]    [3,4]
 [0,1] [2]  [3][4]
[0] [1]

и нерекур.

           [0,4]
    {0,3,4}     [1,2]
  [3,4]  [0]   [1] [2]
 [3] [4]
На javajavaДерево отрезков, 35 часов назад
+5

ну надо дерево на 10 элементов — заведи дерево на 16 элементов, а юзать будешь только элементы с 0 по 9 -ый (включительно). памяти отожрёшь под 32 вершины. Но это не страшно, по сравнению с возможностью багов, а такая реализация довольно простая, я уже как-то закидывал сюда код, ищи по фразе RMQ, RSQ

На javajavaДерево отрезков, 35 часов назад
+5

все нормально будет) это получается не совсем дерево отрезков, но это работает

Прошу внимательно посмотреть на строчку 15 и поискать эту команду в победителях Юниорской лиги каждого дня.

На javajavaДерево отрезков, 35 часов назад
-2

Не совсем понял, что происходит, если длинна отрезка — не степень двойки.

На javajavaДерево отрезков, 36 часов назад
+5

Если корень дерева — 1, а для каждой вершины v дети это v*2 и v*2+1, для массива с 1 индексацией места i-того элемента будет i+n-1

        1
       2  3
      4 5 6 7
      1 2 3 4

В таком случае дерево может отличаться от дерева построенного рекурсивно.

На javajavaДерево отрезков, 36 часов назад
0

А как в нерекурсивном случае определять, в каких местах массива у нас находятся листья? Или структура реализации дерева в этом случае принципиально иная?

На frozenbearОтборочный тур ICL’2012, 36 часов назад
+5

Всего планируется три блока задач. Обычно оповещение выставляется на сайте за два-три дня до появления блока. Ориентировочно новых задач можно ожидать в четверг, 9 февраля, но они возможны и на день-два раньше.

Спасибо за up =)

На frozenbearОтборочный тур ICL’2012, 36 часов назад
+5

Нуууу… наверное это педантичность =)

На javajavaДерево отрезков, 36 часов назад
+8

Немного не в тему, но вообще говоря, есть два вида реализации построения дерева отрезков — рекурсивный и нерекурсивный. Рекурсивный предполагает движение от корня к листьям, нерекурсивный — от листьев к корню.