Блог пользователя HolkinPV

Автор HolkinPV, 12 лет назад, По-русски

Доброго времени суток!

Рады приветствовать вас на очередном раунде Codeforces для участников Div. 2, в котором традиционно могут участвовать все желающие.

Задачи для вас подготовили Холкин Павел (HolkinPV), Рахов Артем (RAD) и Николай Кузнецов (NALP). Выражаем свою благодарность Михаилу Мирзаянову (MikeMirzayanov) за прекрасную систему, Марии Беловой (Delinur) за перевод условий, а также Агапову Геральду (Gerald) и Куприну Александру (Alex_KPR) за помощь.

Откроем небольшой секрет по поводу сегодняшних задач. Для их решения вам скорее всего понадобятся сортировки)

Распределение баллов по задачам стандартное: 500, 1000, 1500, 2000, 2500.

Всем участникам желаем успехов и высокого рейтинга!

UPD: Соревнование закончено. Разбор задач можно найти здесь.

UPD2: Всем большое спасибо за участие. Надеемся задачи вам понравились. Поздравляем победителей:

  1. Touma_Kazusa
  2. ZJUT_AA
  3. wwhd
  4. jikwao425
  5. wtiger9999
  6. Jolin
  7. anmtcel
  8. marspeople
  9. ztxz16
  10. CrazyRabbit

Отдельное поздравление участнику Touma_Kazusa, который справился со всеми задачами.

  • Проголосовать: нравится
  • +80
  • Проголосовать: не нравится

»
12 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Вопрос по соревнованиям в целом: если я регистрируюсь, но не участвую в олимпиаде, то как это влияет на рейтинг? Я правильно понимаю, что приравнивается к минимальному месту, и как следствие, рейтинг падает.

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится +9 Проголосовать: не нравится

    Нет, не влияет.

  • »
    »
    12 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится +9 Проголосовать: не нравится

    Участвующими считаются люди, сделавшие хотя бы одну посылку во время соревнования.

»
12 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

А зачем давать подсказку? И тем более такую? Почти на каждом контесте особенно див2 есть задача с сортировкой.

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится +18 Проголосовать: не нравится

    Например, чтобы желающие могли подготовить AntiQuickSort.

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится +1 Проголосовать: не нравится

      Mergesort for Java

      И не жалуйтесь потом :)

      • »
        »
        »
        »
        12 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится

        А что мешает вызывать сортировку для Integer, Long, Double? Там же mergesort и работает.

        • »
          »
          »
          »
          »
          12 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится

          qsort, мне так казалось.

          • »
            »
            »
            »
            »
            »
            12 лет назад, # ^ |
              Проголосовать: нравится +2 Проголосовать: не нравится

            У массивов объектов вызывается мержсорт, у примитивных типов — qsort.

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится +21 Проголосовать: не нравится

      Мне кажется это тоже самое, что перед контестом писать "Задачи будут на КМП, поток (... и пр.)".

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится +12 Проголосовать: не нравится

    Это как раунд с счастливыми числами, так что я думаю, что это скорей не подсказка, а фишка этого раунда.

»
12 лет назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится

RAD больше не в команде Кодефорсес?

»
12 лет назад, # |
  Проголосовать: нравится +7 Проголосовать: не нравится

it's not a good idea to say how can we solve problems

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится +4 Проголосовать: не нравится

    but it's interesting :)

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится -8 Проголосовать: не нравится

      oh, really? is it interesting to know what is the algorithm? :D

      • »
        »
        »
        »
        12 лет назад, # ^ |
          Проголосовать: нравится +5 Проголосовать: не нравится

        It isn't the entire algorithm, we just know that we have to use sort in the final answer. But it's better to find oneself... It's a too big hint, and all the contestants who have seen this post will be advantaged.

»
12 лет назад, # |
  Проголосовать: нравится -12 Проголосовать: не нравится

Just curious to know why the site has not gone to safe mode today ...Its only 25 mins remaining and in some recent rounds the site went to safe mode some 1 hour back

»
12 лет назад, # |
  Проголосовать: нравится -15 Проголосовать: не нравится

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

многие откроют на e-maxx.ru статью "Пузырьковая Сортировка" :-)

»
12 лет назад, # |
  Проголосовать: нравится -33 Проголосовать: не нравится

Блин, почему нельзя сделать окончание регистрации во время начала раунда?? У меня было 18.56 когда я влетел с работы домой, и уже не успел. Это издевательство какое-то. Пересмотрели бы этот вопрос что ли

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится +23 Проголосовать: не нравится

    Через неделю влетишь в 19:01 и будет не менее обидно. А ещё нужно ненулевое время на распределение по комнатам.

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    просто перед контестом за эти пять минут идет распределение по комнатам

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится -10 Проголосовать: не нравится

    Как мне нравиться, что не успел что-то написать, сразу налетело миллион оленей и заминусовали. Учитывая, что в ветки мне ответили только 2 человека и пояснили почему так. за что им огромное спасибо

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится +12 Проголосовать: не нравится

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

      • »
        »
        »
        »
        12 лет назад, # ^ |
          Проголосовать: нравится -11 Проголосовать: не нравится

        а если я не видел ответа на данный вопрос? или мне что-то или кто-то запрещает спросить данный вопрос, если "большинству представителей сообщества не нравится", то пуская оно идет лесом и ведут тебя более-менее адекватно.

        • »
          »
          »
          »
          »
          12 лет назад, # ^ |
            Проголосовать: нравится +6 Проголосовать: не нравится

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

          • »
            »
            »
            »
            »
            »
            12 лет назад, # ^ |
              Проголосовать: нравится -18 Проголосовать: не нравится

            Никто не запрещает. Общество анонимных "минусяк". Пускай соберутся в кружок и минусуются друг-друга.

            • »
              »
              »
              »
              »
              »
              »
              12 лет назад, # ^ |
              Rev. 4   Проголосовать: нравится 0 Проголосовать: не нравится

              Они уже собрались в это общество — codeforces.ru, ты просто привёл альтернативное название. Забей 95% пользователей школота. ссылка не работает http://lurkmore.to/95%25_населения_—_идиоты
              видимо я из тех 95 процентов :) Скопипасть ссылку или в Яндексе набери, подскажет :)

»
12 лет назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится

Я так понял, теперь, например если сдам задачу 4 раза и она не пройдет претесты, то у меня еще вычтут 50*4 баллов? (в итоге задача не прошла)

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится +1 Проголосовать: не нравится

    Нет. Их вычтут только если в конце концов она пройдет.

»
12 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

А меняется ли рейтинг при участии в соревнованиях не своего дивизиона?

  • »
    »
    12 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

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

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      можно. только вне конкурса

      • »
        »
        »
        »
        12 лет назад, # ^ |
        Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

        нет, нельзя.

        Не вводите в заблуждение

        upd: а, там правка есть оказывается, пардон

»
12 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Учавствует кто-нибудь из тех, кто завтра пишет VI Открытую олимпиаду школьников по программированию?)

»
12 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Методом заглушек выяснил 3 тест на задачу С.

3 2 1 1 2

Ответ: 1 1

Но моя прога тоже выдает 1 1!

Что это значит ?

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    мне тоже хотелось бы узнать, что с 3-м тестом такое происходит...

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      Вы неправильно обрабатываете последовательности, где есть повторяющиеся числа. В вашем примере (последовательность (1, 1, 2)), отсортированая последовательность пар будет такой: (1, 1), (1, 1), (1, 1), (1, 2), (1, 2), (2, 1), (2, 1), (2, 2).

      • »
        »
        »
        »
        12 лет назад, # ^ |
          Проголосовать: нравится +4 Проголосовать: не нравится

        Чуть поправить: (1, 1), (1, 1), (1, 1), (1, 1), (1, 2), (1, 2), (2, 1), (2, 1), (2, 2). Кол-во пар должно быть n*n все же.

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    4 6 1 2 2 3 ответ 2 1

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    видимо, твоя программа неправильно сработает на тесте

    3 3
    1 1 2
    
»
12 лет назад, # |
  Проголосовать: нравится +8 Проголосовать: не нравится

Огромное спасибо автору за задачу С, очень хорошая задача :)

»
12 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

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

сделаем sqrt декомпозицию по отсортированным автобусам по левому аргументу. В каждом блоке отсортируем по правому. Сделаем в каждом блоке дерево отрезков для поиска с минимальным временем.

Все работает за O(m*sqrtn*logn)

Как делать по нормальному?

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Сжатое двумерное дерево отрезков видимо. Но я не решил =)

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится +1 Проголосовать: не нравится

      не думаю

      • »
        »
        »
        »
        12 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится

        Ну расскажу тогда как по-моему можно решить: естественно сжимаем координаты, сортируем запросы по убыванию времени, теперь делаем так: автобус — добавляем точку (s_i, f_i) со значением, равным времени; пассажир — ищем минимум на прямоугольнике с x <= l_i, и y >= r_i. Но будет интересно взглянуть на авторское решение =)

        • »
          »
          »
          »
          »
          12 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится

          Можно свести до одномерного дерева отрезков, а именно нужно отвечать на запрос "минимальное i, l <= i <= r такое что A[i] >= x"

          • »
            »
            »
            »
            »
            »
            12 лет назад, # ^ |
            Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

            не важно, там бред

            • »
              »
              »
              »
              »
              »
              »
              12 лет назад, # ^ |
                Проголосовать: нравится 0 Проголосовать: не нравится

              а как же за временем смотреть?

              • »
                »
                »
                »
                »
                »
                »
                »
                12 лет назад, # ^ |
                  Проголосовать: нравится 0 Проголосовать: не нравится

                действительно, там же еще время есть. неверно понял условие, прошу прощения.

                видимо таки придется сет заменить на дерево отрезков по сжатому времени.

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    В дорешке зашло за 3сек.

»
12 лет назад, # |
Rev. 2   Проголосовать: нравится +3 Проголосовать: не нравится

Думал почему С падает на 8 претесте — k>2*10^9 (facepalm) Вот идиот...

»
12 лет назад, # |
  Проголосовать: нравится +36 Проголосовать: не нравится

Someone has published problems D (id DOR17) and E (id DOR16) on SPOJ during the contest. Lame way of cheating...

  • »
    »
    12 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится +20 Проголосовать: не нравится

    Someone has no respect for authors and steals your problems. This person doesn't know anything about copyrights. We try your best to do the contest. That's why we shouldn't comment this ugly behavior.

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится +2 Проголосовать: не нравится

    I have just received an email from SPOJ. The problems were removed and the user got banned.

»
12 лет назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится

I feel very stupid right know... what was the issue with pretest 3 of problem C?

  • »
    »
    12 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится +2 Проголосовать: не нравится

    4 k
    1 1 1 2

    Something like that

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится +1 Проголосовать: не нравится

      Of course... facepalm

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится +1 Проголосовать: не нравится

      So, what's the trick of duplicate numbers ?

      • »
        »
        »
        »
        12 лет назад, # ^ |
          Проголосовать: нравится +11 Проголосовать: не нравится

        If there no equal numbers it's ok and work — k/n and k%n

        Let's look at

        3
        1 1 2
        (1,1)(1,1)(1,1)(1,1)(1,2)(1,2)(2,1)(2,1)(2,2)

        So k/n and k%n will print wrong answer —
        k=5
        Your answer = 1 1
        Right answer = 1 2
        P.S Sorry for my english :D

        • »
          »
          »
          »
          »
          12 лет назад, # ^ |
            Проголосовать: нравится +1 Проголосовать: не нравится

          Thanks a lot. I made a fool of myself :(

          • »
            »
            »
            »
            »
            »
            12 лет назад, # ^ |
            Rev. 2   Проголосовать: нравится +1 Проголосовать: не нравится

            Don't worry. If you look at the submissions you will see that a very large number of people made this mistake (including me). I think it's naturally to forget about the impact of duplicates initially.

            • »
              »
              »
              »
              »
              »
              »
              12 лет назад, # ^ |
                Проголосовать: нравится 0 Проголосовать: не нравится

              the statement seems to emphasize the duplicate situation twice, but i just ignored it... 3ks for the explanation!

            • »
              »
              »
              »
              »
              »
              »
              12 лет назад, # ^ |
                Проголосовать: нравится 0 Проголосовать: не нравится

              You're right. So many users were stuck in C. After 220th ranks in final standing, so many minus numbers are on C.

        • »
          »
          »
          »
          »
          12 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится

          I know the trick, can you tell me the right solution?

          • »
            »
            »
            »
            »
            »
            12 лет назад, # ^ |
              Проголосовать: нравится 0 Проголосовать: не нравится

            Still right that first number is — a[k / n]. And second is a[(k–n·cnt) / num], where cnt – count of numbers in array that < than a[k / n] and num – count of numbers in array that = a[k / n].
            It was written in russian editorial, i just translate it ( hope right =) )

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится +1 Проголосовать: не нравится

      what are the possible pairs for ur testcase?

      • »
        »
        »
        »
        12 лет назад, # ^ |
          Проголосовать: нравится +2 Проголосовать: не нравится

        (1,1)(1,1)(1,1)(1,1)(1,1)(1,1)(1,1)(1,1)(1,1)(1,2)(1,2)(1,2)(2,1)(2,1)(2,1)(2,2)

»
12 лет назад, # |
  Проголосовать: нравится +2 Проголосовать: не нравится

Кто расскажет решение D и Е?

»
12 лет назад, # |
  Проголосовать: нравится +7 Проголосовать: не нравится

Простите меня все, кого я сломал. Все равно раунд нерейтинговый.

»
12 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

it would be so interesting if we could see our final rank now ;)

»
12 лет назад, # |
  Проголосовать: нравится +5 Проголосовать: не нравится

Я такой олень.. Потратил 2 попытки и кучу времени на понимание того, что такое нормально считывает только положительные числа.. long long a; scanf("%d",&a);

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Оно считывает любые числа, не только положительные.

    У вас считывается long long, там должно быть %I64d.

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      Да, я знаю. Просто подумал, что всё равно число влезает в int и %d сработает...

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Почему? scanf может и отрицательные считать.

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится +1 Проголосовать: не нравится

    Ну дык ясно. потому что положительное число 42 что в 32-битной, что в 64-битной записи будет 000...00101010. А при считывании -42 то, что в int32 было бы отрицательным (32 дополнительный бит — единица), в int64 станет просто большим положительным, так как дополнительный код в 64 бите будет нулём.

»
12 лет назад, # |
  Проголосовать: нравится -6 Проголосовать: не нравится

видно претесты E были слабые — половина закидала E одной лишь сортировкой по времени автобусов. некоторые добавили бинпоиск.

»
12 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Ahh

its my first time for entering the contest..

its very interesting :)

»
12 лет назад, # |
Rev. 3   Проголосовать: нравится +11 Проголосовать: не нравится

Народ, а что делает (Div. 2) в названии контеста?

UPD: я имею в виду, почему в контесте, предназначеного для второго дивизиона, совсем небольшое колличество участников первого дивизиона смогли решить все задачи?

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится -6 Проголосовать: не нравится

    Означает дивизион, для которого предназначен контест.

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится +12 Проголосовать: не нравится

    уж явно не выделяет целую часть числа от деления на двойку

»
12 лет назад, # |
Rev. 2   Проголосовать: нравится +3 Проголосовать: не нравится

Кто-то в задачи A писал динамику, и она не прошла) 1296561

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    блин, а я написал рюкзак. Правда он прошел

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Я писал все суммы это тоже динамика и зашло.

»
12 лет назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится

my submittion of problem A is kinda stuck it says accepted on final test but

where is question mark on it says waiting or judging. http://codeforces.com/contest/160/submission/1296903 what's wrong with it?

»
12 лет назад, # |
  Проголосовать: нравится +5 Проголосовать: не нравится

A,B,C explanations

Any idea about problem D?

»
12 лет назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится

is segment tree should be used in problem E?

»
12 лет назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится

Why is the system testing stuck on 100% from the last 10 mins.I want to check my C solution ..

»
12 лет назад, # |
  Проголосовать: нравится +12 Проголосовать: не нравится

Maybe it will be better to make such rounds not only for div2 but for mixed div1 and div2, because I think D and E were good enough for div1.

»
12 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

is there failed pretest or re-submission penalty from this round ? I saw the statement about this penalty during contest, but I think I did not receive penalty at my final score.

»
12 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Can anyone explain why this submission (1304142) for C timed out? It works in O(n) time, I simply rad the array, count the occurencies of numbers using HashMap and then iterate at most n times. I see no way to fail it on timelimit... The only possibly slow operation is adding elements to map, but on other tests with maximum n, it worked in around 100ms. Where's the problem?

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Well, I submited the exactly same sulution again and it failed on another test, which run in 130ms before. I don't get it, where's the pitfall? Something in HashMap?

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      They are antiquicksort tests. Shuffle the array after reading and get AC.

      • »
        »
        »
        »
        12 лет назад, # ^ |
          Проголосовать: нравится +1 Проголосовать: не нравится

        Well, it passed with Integer[] instead of int[]. I think this is the most stupid thing I ever saw on programming contest. I see no point in not letting pass the solution with the correct idea and implementation... Just because of testcase challenging in fact Arrays.sort method of Java authors, not my code. What will be next, tests concentrating on possible bugs in GCC compiler? I probably should start coding in Turing machine instructions in next round.

        • »
          »
          »
          »
          »
          12 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится

          tests concentrating on possible bugs in GCC compiler?

          Actually, there are a lot of cool stories of unsuccessfull hacks/TC challenges with correct output from function that returns correct value despite having no return statement inside.

          We should never believe a compiler and runtime library. C'est la vie

          • »
            »
            »
            »
            »
            »
            12 лет назад, # ^ |
              Проголосовать: нравится 0 Проголосовать: не нравится

            Yes, I fully understand this, in fact, I'm glad in some way that I have learned today about a pitfall in commonly used part of standard library. But there's a difference between non-defined behaviour of C/C++ and "abusing" a weak spot by carefully chosen input. In first case, a challenger/systemtester is in disadvantage and knows his attempt can fail. If he will succeed, a code with a bug will be identified and will gain zero points. He's aware about the risk, it's a lottery. In second case, it's about choosing a very special case that timeouts in fact correct solution. A coder who got a correct idea and implemented it will gain zero points. I see a clear difference between these cases. But, however, both of them are following rules and there's no one to blame. But it's questionable if the second one is fair. But yes, there's no "guilty", just a "victim". So the victim will write slightly angry comment after the contest and life moves on :)

»
12 лет назад, # |
  Проголосовать: нравится +9 Проголосовать: не нравится

It makes absolutely no sense that I failed C with an O(n log n) algorithm just bcoz I coded in Java. This gives no chance at all for Java coders. All I did was to sort and proceed like every other AC algorithm.

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    It seems you have the same problem that I have. The strange thing is my solution once passed test 66 in 130ms and then it didn't make it in one second. Maybe some problem with system tester?

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    may be it was AntiQuickSort test?

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      What does that mean ?

      • »
        »
        »
        »
        12 лет назад, # ^ |
          Проголосовать: нравится +9 Проголосовать: не нравится

        as I understood from previous posts Java Arrays.sort uses quicksort, which can be hacked with special generated test which causes Arrays.sort to do O(N^2) operations.

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      AFAIK, Java implements using dual pivot quick sort which is faster than normal quick sort.

      • »
        »
        »
        »
        12 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится

        Any quick sort impelementation with determinate algotrithm of choosing element for partition can be failed to O(N^2) time. Java implementation too.

        • »
          »
          »
          »
          »
          12 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится

          It seems you are right. What I did now is to push all elements in a priority queue and then pop them all and it was AC. I never thought that the built in sort would time out, never met that idea in a contest.

          • »
            »
            »
            »
            »
            »
            12 лет назад, # ^ |
              Проголосовать: нравится +1 Проголосовать: не нравится

            More easy is to shuffle data before sorting. But i don't think simeting like this will hapen often on codeforecs. It's not very sporting behavior.

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      AFAIK Java use mergesort not quicksort for sorting.

  • »
    »
    12 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится -6 Проголосовать: не нравится

    There are many AC Java solutions. There are even Ruby AC solutions for that problem

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится -6 Проголосовать: не нравится

    quicksort IS NOT N LOG N. it's o(n^2)

    and o(n log n) on random test

»
12 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Что значит ошибка RUNTIME_ERROR на C# ? Возникла в задаче С: http://codeforces.com/contest/160/submission/1304818

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Скорее всего, попытка создать массив размера 10^10.

»
12 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

I have a question concerning problem statement of 160D - Ребра в MST. It says:

You are given a connected weighted undirected graph without any loops and multiple edges.

But in the first sample there is a loop: 1->2->3->1 Is the statement wrong or am I missing something?

»
12 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Можно ли решить задачу C за O(n^2)?

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Очевидно нет, там же n до 100 000.

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      Я тоже так думаю. Значит мне просто повезло, что не было теста, когда n = 100 000 и все они равны.

»
12 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

can someone tell me one reason about why problem C time constrain is 1 second !!!!!!!!!! it's just totally nonsense , the wrong Algorithm will just fail the 2 sec time !!! my solution is O(n logn) and it failed in java but Acc in C++

THANKS !

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится +1 Проголосовать: не нравится

    When I saw the non-standard time limit I thought that they probably put it there to prevent anybody from attempting to solve that by brute force (i.e. creating all possible pairs, sorting them and then selecting the k-th one).

    However I agree that Java coders had a significant disadvantage here because of the Anti-Quicksort tests (I got lucky with Ruby I suppose). I agree that coders should think about worst-case complexity which is O(n^2) for Quicksort but if so this should affect all implementations and not just the ones in a single language.

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится +3 Проголосовать: не нравится

      you couldn't create all the pairs. they could be 10^10 in number!

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится +1 Проголосовать: не нравится

      the O(n^2) solution will fail in both memory and time, which makes the 1 sec limit completely ridiculous.

      • »
        »
        »
        »
        12 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится

        Yes, but that does not mean that the problem isn't solvable in 1 second using Java. As mentioned in previous comments you need to shuffle the data before sorting to avoid the worst-case performance of Java's sorting algorithm.

»
12 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Вопрос: если я сдала задачу не на первой минуте, а, например, на 50-той, то по какой формуле вычисляется количество баллов за нее? (Понятно, что не 500. 490? 450?)

»
12 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Впала Д на последнем тесте:) Anti-QuickSort :)

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится +5 Проголосовать: не нравится

    А зачем вы на C++ написали квиксорт руками?

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      Ну как-то так получилось. Мне так удобней было. Вынес урок зато:)

      • »
        »
        »
        »
        12 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится

        Кстати ваш вывод можно сильно упростить, записав там просто
        FOR(i,1,m) puts(ans[i].c_str());

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      Видимо проще написать QuickSort, чем сортить массив структур... =)

»
12 лет назад, # |
Rev. 6   Проголосовать: нравится 0 Проголосовать: не нравится

This is the first time I do in codeforces environment. So I'm sorry if this is an already known issue, but in problem C, using C++, reading a long long integer from std::cin isn't really operated, while on my local machine with gcc 4.2.1 does. I was struggling against this for an hour and found that using scanf("%I64d", &longint) only solves this.

  • »
    »
    12 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится +1 Проголосовать: не нравится

    I just took a look at your submissions and realized the problem is that you declared k as int, not long long.

»
12 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

What a pity!The school network was broken at 23:30 and i could not finish the task...and my rating has decreased a lot. :-( TT

»
12 лет назад, # |
Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

what pears do we have on this test?

3 3
1 1 2
»
12 лет назад, # |
Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

is there anyone can tell me why i got WA on this submission? (http://codeforces.com/contest/160/submission/1299317) i tested on my computer and got a right answer. (15 lines of 'at least one')

»
12 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

is there anyone can tell me why i got WA on this submission? (http://codeforces.com/contest/160/submission/1299317) i tested on my computer and got a right answer. (15 lines of ‘at least one’)

»
12 лет назад, # |
  Проголосовать: нравится -10 Проголосовать: не нравится

GDE MOJNO GRAMOTNO REKURSIYI NAU4ITS9?