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

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

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

Приглашаем вас на последний раунд в уходящем году Good Bye 2013. Этот раунд будет не совсем обычным, потому что он будет общим для участников из обоих дивизионов.

Задачи для вас готовили авторы Геральд Агапов (Gerald) и Свечников Артур (ikar). А также, в проведении раунда нам помогал Павел Холкин (HolkinPV). Также говорим спасибо Виталию Аксенову (Aksenov239) за помощь. Традиционно хочется сказать слова благодарности Михаилу Мирзаянову (MikeMirzayanov) за системы Codeforces и Polygon, а также Марии Беловой (Delinur), которая перевела условия задач.

UPD: Распределение баллов по задачам похоже на стандартное — 500-1000-1500-2000-2500-3000-3500

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

UPD3: Поздравляем победителей последнего раунда в этом году. Рейтинг будет обновлен в течение нескольких часов.
1. BaconLi
2. Egor
3. liympanda

Желаем всем участникам удачи, высокого рейтинга и удовольствия от решения задач)

Анонс Good Bye 2013
  • Проголосовать: нравится
  • +347
  • Проголосовать: не нравится

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

2013, давай, до свидания! :)

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

Is there a handle changing feature?

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

    No, you can only choose the handle name when you register, then you will not be able to change it later.

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

      Maybe you misunderstand him, usually at the end of every year there's a gift from codeforces to its users, last two years it was allowing to change the handle and ahmed.korayyem asked if codeforces will allow changing handle this year too.

      BTW, why are you surfing codeforces in incognito mode?

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

        Oh, sorry for my misunderstanding.

        Actually I use normal mode when surfing on codeforces, but when I want to visit codeforces "register" page without logout I have two options, open other browser software or use incognito mode, but it's faster to use incognito mode, so I use it :)

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

      Actually it happened last year. (http://codeforces.com/blog/entry/6290)

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

    I would like to change my handle this year too as a Codeforces gift.

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

      Hello, but gifts are things other people give to you. They are not things you request, and then get.

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

        I mean, I could be happy if I see a Mike post saying: "You can change this year your handle as a Codeforce gift like last year. Enjoy it."

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

It seems this contest would be rate?

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

Although have lessons tomorrow morning, going to take the one of the most important contest:) That's why I love Codeforces!

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

ahh... at last a post about 'Good Bye 2013'.

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

will the problems be as hard as div2 contest or div1 contests?

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

    happy new year to all ... last contest of this year ..... so get highest rating .. wish u all the best for all

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

Good luck!!!

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

Advanced Happy New Year to everyone :)

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

Can we have hints on problems' difficulty? I can't imagine how the contest is going to be rated and the same problems will be for both divisions!

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

Good Luck to everyone...!!! And Happy New Year...!!!!!

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

how many problems there will be??and i think as the contest for the end it would be better to have extra duration.

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

много участников!!!КРУТО!!!

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

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

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

Well, actually it's good bye GPA! Having an exam tomorrow out of 30% and I still don't know what the course is all about and yet I'm taking part in this contest :D :D

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

Hey guys ... as 2013 is ending , i wanted to start a fresh new year training on problems , i aslo have some questions on this , so if anyone would answer me , and gimme some help .. I'd appreciate this :) And Happy New Year everyone :D Happy Coding ... :D

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

GL HF everybody :D Happy New Year 2014

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

Also, good fun && have luck!

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

I never really understand why the score distribution is announced during the last minutes before the contest? Can somebody explain me this? :)

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

"Score distribution will be announced before the contest."

contest starts in 30 seconds!

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

Happy new Year! Good luck in new year!

»
10 лет назад, # |
  Проголосовать: нравится +14 Проголосовать: не нравится
Комментарий удален по причине нарушения правил Codeforces
  • »
    »
    10 лет назад, # ^ |
      Проголосовать: нравится +6 Проголосовать: не нравится

    Уж можно было подождать до конца контеста :o

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

Будет ли разбор?

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

Can anyone tell how solve 379F - New Year Tree ?!

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

On problem C I made this:

while (vet[u] <= l) ++vet[u];

I realized that it would time out after locking :/, but then I remembered that GCC might optimize this stupid mistake I've made, and it did! :D Bye bye 2013!!

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

    Holy random? I successfully hacked person with while(v[i].a<=v[i-1].a) v[i].a++; and g++ too:)

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

Good bye Codeforces Round for this year...

Insha'allah... we will meet again... :)

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

Спасибо за раунд!

Посылал исправление по E за 6 секунд до конца контеста. Сервер сработал — включилась страница "Мои посылки". Однако там ничего нового не было. Допуская, что я опоздал, это какой-то баг (и я должен был видеть эту посылку с вердиктом out of contest), или это так и надо, что посылка как бы не существовала вообще?

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

We get "Happy New Year!" instead of "Accepted". So nice!

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

At first, thanks for this great contest! I enjoyed it very much except for one thing.

Because of "Codeforces is temporary unavailable", I lost some hack points that I should be able to get... Although it's my fault that I came up with a powerful corner-case late, but why codeforces server have been weak for a long time in spite of much demand? I really want codeforces team to strengthen the server...

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

Any better idea on D than a hardcore DP + Euclid's Extended Algorithm (which i didn't manage to implement, by the way).

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

    My solution was something like this:

    Let X = s1, Y = s2. We count the number of appearances of X, Y, XY, YX, YY (you can prove that XX doesn't appear). In the latter three, at most one "AC" can appear, so you bruteforce all 8 possibilities. You don't need Extended Euclidean; the bounds n, m ≤ 100 are very forgiving for an immediate brute force.

    (I'm not sure what you mean by hardcore DP. In my opinion, my solution above is not DP at all, so probably different solutions.)

    (My solution turns out to fail, so it might not be the correct approach. Take the above with loads of salt.)

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

      WA 23?

      I have the same solution and got wa 23 : \

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

        You must prevent overflow while calculating count of AC's in tested variant.

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

      No, your solution seems ok, I simply missed the fact that I can brute-force through all cases in ax+by=x, your solution was the same as mine. What i called hardcore DP were some recurences I used instead of simple formulas to write the solution faster in order to calculate the number of X,Y,XY,YX,YY,XX (that's why I used DP, I didn't have to treat cases like nu XX and different formulas). Somebody else also told me about this solution and his also failed because of www.wolframalpha.com/input/?i=50th+fibonacci+number (int instead of long long)

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

    My solution has a recursion to calculate the how many AC are in kth term, inside a dp that generates a possible second starting string, inside another dp that generates a possible first string. Is that hardcore enough? :p

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

      Yes, it is. Your recursion used memoisation I supose? Can you explain a little bit more of your solution, please?

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

        Well, at first I thought knowing the number of AC in each of the first string would be enough. If no. of AC in first is 3 and in second is 4, then the third will have 3+4 = 7. Then it will continue like fibonacci sequence. But then I realized, what if the string is like this ABBBBBA and CBBBBC.

        Even though the first and second string has count zero, third string has count 1. So, in order to generate the sequence, I must know the starting and end letter of each string, along with the count of AC.

        So I used dp to generate the first string. Only three letters would be used in the string, A, C and any other letter ( I used B ). So the parameter was dp ( first letter, position in the string, last letter used until now, number of ac ). At each position I could place one of the three ABC. I proceeded accordingly.

        Once I reached the end of first string, I called for the second string right from there. I had to carry few information from first string to the second. The first and last letter and number of AC in the first string. Apart from these, everything else was same for the second string.

        So the second dp parameter was this dp2 ( first letter of first string, last letter of first string, number of ac in first string, first letter in second string, position in second string, last letter in second string until now, number of ac in second string ).

        Once I reached the second string, I called a function to calculate kth term. I passes the following info to the function recursion ( f1, l1, ac1, f2, l2, ac2 ). Using this info, I could calculate kth term in O(k).

        Here is my submission: 5581341. Seems like a lot of calculation but it's really not a lot. Each of the table is filled only once.

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

    Bruteforce. Count of "AC" in s1, count of "AC" in s2, first and last letters of both strings ('A', 'C', or any other). And then for that information we can calculate count of "AC" in k-th string.

    And total time is (n / 2) * (m / 2) * 3^4 * k ~ 10^7.

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

Can someone explain why my submission to D fails?

http://codeforces.com/contest/379/submission/5584738

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

the Accepted verdicts have been changed to Happy New Year! how cool is that? :)

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

    Now, if someone had 0 accepted submissions, they're also in for a bad year :)

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

Эээ. На задаче C у меня с TLE упал QSort + обработка за O(n) на Паскале. Так ведь не должно быть, не правда ли?

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

    Если qsort без рандомизации, то вполне можно и сломать. А если pivot выбирать как-нибудь банально — вполне можно упасть на взломе кого-то еще с таким qsort

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

    Почему же? Всё правильно. Кто-то не умеет писать qsort с рандомом.

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

      Класть антиквиксорты в тесты — пошлость.

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

        Возможно — просто добавлены взломы.

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

        Да? А расскажи мне, как ты относишься к хешам по модулю 264?

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

          Хэш хэшу рознь. Но писать тесты, фактические, валящие по константе конкретные реализации оптимального алгоритма — это как-то не особо спортивно, IMO. Но если тест действительно из взломов, то у меня претензий нет.

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

            Что такое "по константе"?

            QuickSort в среднем случае работает за .

            Многие сортировки в худшем случае работают за .

            QuickSort в худшем случае работает за O(n2).

            Отношение константой не является.

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

              «По константе» значит «валит лишь отдельные реализации алгоритма». От шаффлинга массива оценка худшего случая квиксорта не изменится, однако, почему-то, считается нормальным, что решение с шаффлингом проходит несмотря на свою квадратность.

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

                Неправда ваша. Оценка среднего времени по худшему тесту очень даже меняется.

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

                «По константе» значит «валит лишь отдельные реализации алгоритма».

                Обычно «по константе» значит совсем другое: например, что решения с операций проходят, а с уже нет, при том, что эти константы 10 и 15 очень вероятны при решении задачи.

                От шаффлинга массива оценка худшего случая квиксорта не изменится, однако, почему-то, считается нормальным, что решение с шаффлингом проходит несмотря на свою квадратность.

                Если перемешать массив детерминированно, такую сортировку тоже можно взломать... А вот если инициализировать датчик случайных чисел временем запуска программы — уже нет.

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

                  Если перемешать массив детерминированно, такую сортировку тоже можно взломать... А вот если инициализировать датчик случайных чисел временем запуска программы — уже нет.

                  В худшем случае любой quicksort работает за O(n^2) — хоть с шаффлингом, хоть методом Синглтона, хоть чем угодно ещё. Этот факт не меняется от того, можно ли сгенерировать конкретный тест, на котором это будет происходить.

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

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

                  Для любого теста существует вероятность что на нем quicksort будет работать O(N^2), поэтому мы и говорим о матожидании времени работы. Но под этим понимается никак не среднее время работы на случайном тесте, а среднее время работы на худшем тесте (немного грязное определение конечно, но смысл я думаю ясен).

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

                  Справедливости следует сказать, что нам нужно не стабильно валить quicksort, а хоть один раз из нескольких попыток. И свалить не в самый плохой случай, а в долго работающий.
                  Но и это сделать не представляется возможным :)

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

                  В худшем случае любой quicksort работает за O(n^2) — хоть с шаффлингом, хоть методом Синглтона, хоть чем угодно ещё.

                  А вот это — неправда. Существуют алгоритмы выбора опорного элемента, дающие производительность даже в худшем случае. Идею можно почитать тут.

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

                  Стоит добавить, что, как и в случае фибоначчиевой кучи, на практике так обычно не делают, потому что константа великовата. На практике используют Introsort, основная идея которого — переключиться с Quicksort на Heapsort, если глубина рекурсии становится слишком большой.

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

            Кстати, мне вот на языке D приходится писать sort !("a < b", SwapStrategy.stable) (arr) вместо просто sort (arr) каждый раз. По аналогичной причине: sort в D 2.064 иногда работает за квадрат. В 2.065 будет, скорее всего, таки исправлено.

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

              Чистое любопытство и оффтопик: а как от этого спасает «стабилизация» сортировки?

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

                Замена qsort На merge sort?

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

                  Судя по названию enum'а SwapStrategy, его значение не должно бы менять алгоритм сортировки (:

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

                Там просто запускается TimSort вместо QuickSort, если этот параметр равен SwapStrategy.stable. Это фактическая деталь реализации, никак не следующая из названия... Хотя, действительно, я не знаю алгоритма сортировки, который бы в среднем случае работал за , в худшем за O(n2) и при этом был стабильным.

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

                  Ну, берём квиксорт и лексикографически сортим им таплы (элемент, его_изначальный_индекс), не?

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

                  Действительно :) . Что-то я протупил...

                  Ну, видимо, это всё-таки медленнее, чем заменить QuickSort на изначально стабильный алгоритм.

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

        Антиквиксорт — это ещё нормально. Пошлость — антиджаваквиксорт)

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

          Как ты вернулся в оранжевые, если я все еще ношу твои штаны?

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

            Ну, у меня в ИТМО неплохая стипендия — новые купил :)

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

    Видел ещё, как минимум, одно решение, упавшее с самописным qsort на том же тесте. Возможно, тест как раз подобран таким образом, чтобы qsort, в котором медиана выбирается таким образом не проходил.

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

    О, мой тест. Строится довольно просто. Меня самого когда-то почти так же взломали (я не использовал randomize), вот теперь и ты научишься на олимпиадах писать с random'ом.

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

Did you guys notices that in status page instead of accepted, it is showing happy new year ??

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

Happy New Year! instead of Accepted ....

Nice way to wish us... :)

Like this innovative idea ... :)

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

Ох, повезло же мне с комнатой. Пространство для взломов ну просто неограниченное.

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

What a perfect contest! I loved it so much! I would like to thank all of the authors and the preparation team! Happy new year to everyone!

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

fail of the year? 5573462

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

Problem A is exactly same as uva 10346 — Peter's Smokes.

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

    lol, there is at least 6-7 similar problem like this at UVa. That's why it is the giveaway problem of the contest :)

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

    LOL, the fan in your profile image moves while looking on the screen and not directly looking to it, and it stops when just directly look at it :)

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

Happy new year~ However, who can tell me why I WA at test #22? 5584508 I can run a correct answer on my computer. TAT

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

I have submitted the problem C in java7 5577222 it got runtime error during the contest and I realized that why it got RE? so I submitted the same code in java6 in practice,it got accepted.5585065 Did it consider as accepted or not?

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

    Your Comparator do not adhere to comparator contract — it should return 0 on equal elements. Java 6 sorting algorithm is implemented in the way that for all compariosions any outcome is possible, but int Java 7 sorting algotrithm (which is TimSort) sometimes only 2 outcomes are possible and when 3rd one is returned it is assertion error

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

      Thanks thats why you are such a good programmer we learn the use only and you know the implementation of the method too.From next year I will use the library method when I know about it completely. As for my solution whether it will be considered as failed or passed because it got accepted in Java6(in practice though).

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

Минуты не хватило чтоб отправить D, однако прошла :(

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

My this code for problem C has given me TLE in 11th case ... As the input is very big, I'm unable to know the reason... would anybody help please ???

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

    There's a while loop inside a rep(i, 0, n). The while loop may be executed as many times as the size of the bi's, which is O(n). Hence the overall complexity of this solution looks like O(n^2) which is not good enough since n could be 300000.

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

      In while loop value of 'i' is being increased... it should be just like 'i++' portion .... total complexity should be O(n). Shouldn't it ??? Or am I missing something which isn't known by me ???

      And the 10th case is big too... n=299999 ... I haven't got TLE in this case... :O

      Actually I want to know the reason ... while submitting, I never thought about this verdict ... But I've got !!! Please clear me... :(

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

        nevermind.

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

        The variable comes from ai and is as big as 10^9, so even a single while loop may not end in time. The ai's in the 10th case is small but is large in the 11th case.

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

          But I'm astonished that, I submitted without using that while loop... and got TLE too, at the same case ... :O

          My submitted code without inner while loop is 5589598

          what is the reason behind this ??? :O

          I even didn't use STL map too ... :O

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

            your solution with int instead of long long: 5589677

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

              Thanks a lot... riadwaw

              Now my code submitted in the contest time is AC too... while loop was not the problem... The reason is only __int64 ...

              Too frustrated... didn't want such finish in this year ... ;(

              Just for not knowing that __int64 takes more time than int...

              Anyway, good thing is it's not in any onsite contest... (trying to take it positively, though failed) ...

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

            Also you could pass the arguments of cmp by reference, like 5589749.

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

А давайте как в задаче С подарим всем рейтинг?!

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

    ага, мне бы например балов тридцать так =)

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

I would have passed F, if I would have used scanf instead of cin.
I did not expected that time limit would be kept so strict.
May be I should start using scanf and printf for each and every problem :(
Feeling very very bad :(
It is not a good gift at all :(

http://codeforces.com/contest/379/submission/5585325

http://codeforces.com/contest/379/submission/5581511

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

Does anybody have any idea how will they give the ratings? Because this contest was very different from other ones. Div1 contestants were in the same place as Div2 contestants and the contest was rated for both of them. Will there be considered a Additional points for Div2 Participants? (Hope so!)

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

    Since normal rating formula calculates the expected position based on your and everyone else's rating , there is no reason it wouldn't work fine in this match.

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

Surprised to see Petr and tourist not try to solve number F!!!!Instead they were busy in hacking!!Whats the secret behind this???

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

Oh the last luckiness for 2013, I submitted my F in the last second :)) I had done F before, but at the last moment I realised that I got wrong range :< I resubmitted and lost about 600 point :'( However alright <3 Happy new year everybody <3

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

So sad:(

5583857 on contest

5585359 upsolving

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

    A diff of the files would be more useful :).

    • »
      »
      »
      10 лет назад, # ^ |
        Проголосовать: нравится +15 Проголосовать: не нравится
      162,171c162,167
      <           if col = 1 then begin
      <             if dp[col][v][cn + 1] < val1 then
      <               dp[col][v][cn + 1] := val1;
      <           end else if col = 0 then begin
      <             if dp[col][v][cn] < val1 then
      <               dp[col][v][cn] := val1
      <           end else begin
      <             if dp[col][v][cn] < val1 + 1 then
      <               dp[col][v][cn] := val1 + 1;
      <           end;
      ---
      >           if col = 1 then
      >             dp[col][v][cn + 1] := val1
      >           else if col = 0 then
      >             dp[col][v][cn] := val1
      >           else
      >             dp[col][v][cn] := val1 + 1;
      
  • »
    »
    10 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится +28 Проголосовать: не нравится

    actually you are peter50216 or rng_58 or not :)

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

Egor was real quick in problem D :D

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

О, я сейчас придумал классное решение F:

если есть дерево, где длиннейший путь с концами в x и y, и добавился лист z

то теперь длиннейший один из

x-y, y-z, z-x

А вообще что-то эдакое было на September Cook-off

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

      Да, просто на контесте я придумал только за O(q*log^2(q)) и гораздо более объемное)

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

    Была такая идея на контесте. Но я что-то не придумал как это доказать, не подскажите?

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

      Так это сложно объяснить. Проще нарисовать.

      Все знают, что диаметр можно искать так — берем любую вершину. Переходим в самую далекую от нее. И это будет один из концов диаметра.

      Верно и обратное — если x-y — диаметр, а w — вершина, то наиболее удаленная от w — одна из x,y (может, есть и другие наиболее удаленные от w).

      Из этого, если x-y — диаметр и подвесили z за w, то наиболее удаленная от z тоже x или y. (из факта выше). Отсюда и следует корректность решения.

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

      Если это не так, то рассмотрим 2 пути — старый самый длинный и новый. Они либо пересекаются, либо нет. В первом случае найдем еще путь между ними. Если посмотреть на получившуюся конструкцию, то всегда можно построить путь как минимум нужной длины, выходящий из одной из изначальных вершин

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

    И как посчитать 3 этих расстояния? Как решить проблему с вырожденными деревьями(

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

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

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

        спасибо, почему-то отмел LCA, т.к. хранил высоту и обновлял ее, а нужно было расстояние до корня.

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

Can anyone explain 379C - New Year Ratings Change New Year Ratings Change why 5579353 gives runtime error ] while submission id 5585888 gives accepted answer... Thanks in advance...

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

    I think that your bool cmp is wrong. The bool cmp must return the value that a < b You can have more detail in here Sort

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

      Still not getting why this is resulting in runtime error

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

        A usual line in the quicksort function is like:

        while (a[i] < a[x]) i++;
        

        Now, consider an array of equal elements. For the above line to work, the a[i] < a[x] part must of course return false for equal values. Otherwise, the index i just walks outside the array (which may or may not result in Runtime Error). Your previous version of the cmp function however violated this, resulting in incorrect behavior for equal values:

        bool cmp (  rating a  ,rating b )
        {
        	if( a.rate > b.rate )
        			return 0 ;
        	return 1 ;
        }
        

        It returns true when a is equal to b, which is an error.

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

          Addition: this error is similar to writing a comparison function which always returns true or always returns false. You can try for yourself to design an efficient sorting function which accepts such a comparison function and does not generate nonsense in this case.

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

            Thanks for your response and information.

            But wont our lives be easier to implement operator for structures and easily use sorting ? 5576735

            If one day i decided to use two function to sort an array i would rather to var static variable in my class and a switch case in my operator<.

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

              C++ allows to do it either way. It's up to the programmer to decide what's more convenient.

              Such a bug can occur in a custom comparison operator operator as well as in a standalone comparison function, and will have the same consequences.

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

    I don't know exactly how sort() works but the comparison function you give must be a strict weak ordering function, so in particular cmp(x, x) should return 0.

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

    I hope that has nothing to do with same variable names for array a[333333] and rating a.

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

I had submitted this code in the contest

http://codeforces.com/contest/379/submission/5581511
and after the contest, I submittted this.

http://codeforces.com/contest/379/submission/5586307

And when I submit it after the contest, it gets accepted
May be time limit decisions are affected from the load on the server at that time.

Please tell me what reason could be for this undesired behaviour.

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

    too bad, looks like load is the cause of that 50ms difference that took that away from you :(

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

      I think this has made me learn few things
      1. use scanf/printf everywhere.
      2. try to do low level optimization when time limit of your solution is tight.

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

        or better in case of cin and cout, use ios::sync_with_stdio(false). as scanf can be slower in case of "%c" and in that case we have to use getchar() for speed.

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

          but that again has some issues, you can not interleave scanf/printf statements, As I have habit of using scanf/printf cin, cout alternatively, I will not prefer to use ios::sync_with_stdio(false);

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

pls update the ratings:)

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

F can be solved by either Heavy Light Decomposition or maintaining Diameter Pair with LCA. (HL: 1100ms, LCA: 550ms in C++) I had hard time implementing HL decomposition, I couldn't make it in time.

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

cognition solved problem A,C,B in 4:02 , 4:18 , 5:00 min !!!!!

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

    LOL. seems he was not alone XD.

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

    Yeah, seems strange. In problem B and C indentations are different. In B 2 spaces are used and in C tabs. Or he just wrote the contest on two different computers coding two problems simultaneously with each hand on each keyboard :D

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

      The indentation is also different in problem A, so I think there actually were 3 computers and he coded with his feet or any other part of his body (I don't want more details :-) )

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

    Though he was not alone, he is not in the top 10...

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

    I've conducted an investigation and banned him. There are multiple evidences that he took part unfairly :(

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

мне кажется или на это соревнование зарегестриловалось наиболее количество пользователей — 3945.

Еще бы чуть-чуть и было бы 4000!)

P.S.Если не прав напишите)

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

pls change the ratings

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

I wonder, will cognition get banned?

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

    Check the final standings again. cognition is no longer there. Probably removed. Also, setters congratulated Logic_IU for winning the round.

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

Are they planning to update the rating next year or what?

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

Happy New Year to everyone!

I think if we have more problems in contest the results will be more reliable...
Wish we have more of these contest (Both Div , 7 Problems) in future...

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

i just noticed that Accepted has been changed to Happy New Year! even in contests other than today's round. i wonder if this is intentional, or some kind of bug with the site?

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

    They probably replaced the string globally (the value of Accepted string) and hence the effect. :)

    I doubt they intended it for all but maybe there's no easy way to do it for just one round.

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

    Yes, the same message is in Russian interface. And how it could be a bug? :)

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

не могу ждать в конце года в рейтинге больше: (

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

cant wait for the year end rating anymore :(

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

https://pp.vk.me/c320524/v320524834/5f1a/jIzSfPkrraQ.jpg

какая все-таки хитрая эта D... (нет, я не проходил следующий тест ифом)

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

well by the server time it's the new year right now(happy new year) but the rates aren't updated yet.

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

please update the rating, I want to see the rating before sleep,TAT

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

    UPD3: Congratulations to the winners of the last round in this year. Rating will be changed in a few hours.

    You just shouldn't go sleep for a few ours.

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

hope ratings will be updated this year :D

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

please update the ratings quickly, wishing only a "Happy New Year" will not work

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

В задаче D верно утверждение, что если ответ есть, то его можно составить только из букв A и C?

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

    Непохоже на правду. В тоже время, трех букв(A, C и еще какой-нибудь) точно хватает.

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

    Для теста 6 1 2 2 вы не сможете составить ответ. А правильный будет иметь вид:

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

where are the ratings?! :(((((

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

it was really nice contest!

but is it possible that rating gonna be updated this year? or we'll have to wait for the next year? xD

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

being specialist, how did aangairbender manage to solve all the problems especially Problem G of Good Bye 2013 (which remained unsolved in the contest) in virtual participation? who is he?? who helped him (if someone helped him)

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

Just finished coding problem G — it got accepted right after it passed the examples, but one hour spent coding it was so non-exciting to say the least.

How about a non-proliferation treaty on cactus problems? :) They rarely are conceptually different than corresponding problems on trees, but they are so much more painful to implement.

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

    Actually, I had twice as much code as if it were problem on tree. And the extra code is almost the same, just new parameter when handling the cycle.

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

      Well, you also have to find the cycles in the first place, correctly handle cases when several cycles share a vertex, etc. That's exactly my point — nothing conceptually different, but harder to implement.

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

    Best formula to create trash something "non-exciting to say the least" from the great problem.

    1. If you have a nice problem on line, but it isn't hard enough, replace this problem on the tree.
    2. If it is still not hard enough, replace this problem on vertex cactus (i. e. no one vertex lies on more than one cycle).
    3. If you are still not satisfied with the result, replace this problem on edge cactus (i. e. cactus in common sense).
    4. ....
    5. PROFIT!
    • »
      »
      »
      10 лет назад, # ^ |
        Проголосовать: нравится +42 Проголосовать: не нравится

      Really good formula, explains everything!

      In this case the problem on the line would probably be worse than on the tree, though :)

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

      I would say, that you can add one more step: instead of "problem on tree" use "problem on tree that contains the only cycle".

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

    If possible:

    Could you share your approach to problem G? At least an overview to be able to read your solution. Thanks.

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

OMG!!! i finished watching two movies after the contest, and rating is not yet updated. i dont have patience anymore. going to bed hopping that i will see updated rating in the morning.

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

Ratings have been updated, congrats to everyone and all the best in new year :)

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

Ratings are updated. Check it out :)

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

Ура! Я стал фиолетовым!

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

Finally after ~5hours waiting, Rating has been updated! Now I can sleep :) Happy New Year!

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

Great match! And I have got the highest rating in this round. It will be better if Welcome 2014 Round which has the same rule as Good Bye 2013 were added.

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

thanks for this awesome round! :D happy new year everyone...:D

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


Thanks for the round and interesting problems!
Congratulations for everyone, who's color was upgraded :)

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

    actually, red to yellow is a downgrade of rating, not upgrade.
    but yeah, good idea about the photo! :D

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

      I think that's purple to yellow. To be more accurate, pink to golden perhaps? But we get the idea. It's cute.

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

+203 points, it was impossible :D Thank you Codeforces for the good year!

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

Happy New Year's Eve!

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

Good bye 2013, good bye Div1!

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

Next contest will be Welcome 2014?

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

for problem A, tests 16-21 are all same. why?

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

This was such a nice contest! I crashed D because I used some variables as int instead of long long.Still,I managed to get ABC pretty fast and as a surprise, the rating increased over my epectations.So, thank you for the contest, and also thank you for the site, it really made my day.Happy new year to everyone!

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

Думаю, таких контестов надо побольше. Вон, какие чудеса с рейтингом творятся когда дивизионы сводят. Заодно становится меньше тех, кто самым наглым образом посмотрев задачи, отказывается их решать.

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

    А подробнее можно, какие чудеса с рейтингом происходят? И почему должно становиться меньше тех, кто отказывается участвовать после просмотра задач?

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

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

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

        Столько раз уже обсуждалось...

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

        Вы все ради рейтинга решаете что-ли? Если бы на СF рейтинг не мелькал перед глазами — я бы даже не знал, какой он у меня. Вот на ТС не знаю — есть себе рейтинг, ну и ладно. Какая разница? Эти рейтинги ведь вообще мало что отображают. Понятно, что красный и синий — это немного разные уровни:) Но остальное — дело дисперсии, рэндома и всего остального.

        36 часов назад я был, скажем прямо, человеком с умственными способностями явно не выше средних, и IQ тоже. Я даже готов поспорить, что ощутимо ниже средних, если рассматривать только пользователей данного сайта. Чем там еще принято мериться? А, программирование. В АСМ я как бы тоже не особо преуспевал. Хотя в АСМ думать и быть умным не обязательно, поэтому здесь все далеко не так плохо.

        И что, от того, что я получил +124 и стал красным — что-то кардинально изменилось за эти 36 часов?

        А когда в следующем раунде я, допустим, опять получу -50 или -70 — это признак того, что изменения были в обратную сторону, мол, праздники дали о себе знать?..

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

          Изменение рейтинга в одном контесте мало о чем говорит. Особенно в общем раунде, когда люди с относительно низким рейтингом могут прыгнуть выше головы. А по рейтингу за несколько контестов можно делать выводы, еще как можно.

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

    По всей видимости, часть рейтинга перетекла из Div. 2 в Div. 1. На первый взгляд возможны такие последствия: средний рейтинг в Div. 1 поднимется, станет сложнее опуститься из Div. 1 в Div. 2; в то же время средний рейтинг в Div. 2 опустится, станет сложнее подняться из Div. 2 в Div. 1. Я бы не сказал, что это однозначно хорошо.

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

      Ну, такие вещи являются неотъемлемой частью кф уже очень давно.

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

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

        По поводу изменений в распределении рейтинга: в идеале, как я понимаю, система рейтинга должна максимально соответствовать идеям Эло. Отсюда следует подчинение нормальному распределению.

        Если на время забыть о существовании клонов, забивших пользователей и всего прочего, а втупую посмотреть на таблицу рейтинга — сейчас на переходе от div2 к div1 это как раз сильно нарушается. Нарисуйте график зависимости числа пользователей от рейтинга для графиков 1600-1699 и 1700-1750 и сами увидите, от 1700 вверх получается примерно по 50 пользователей на 1 единицу рейтинга и число довольно плавно и аккуратно падает к уровню примерно 30 для 1750; в то же время, от 1699 вниз — примерно по 30 пользователей на 1 единицу рейтинга вплоть до 1600.

        В чем соль совместных раундов? В том, что после их проведения, если пересчет соответствует принципам Эло — новое распределение тоже должно быть ближе к тому, которое предполагает рейтинг Эло. Следовательно, если что-то куда-то перетекает — то только в ту сторону, в которую должно перетекать согласно с идеями системы рейтинга. Это все при наличии дополнительных условий вроде "таблица совместного раунда более-менее адекватно отображает реальную силу участников". Вчера было достаточно простых задач, чтобы в середине таблицы все как раз было более-менее адекватно.

        Так что какими бы ни были изменения в трудности перехода с div1 в div2 и наоборот — картина должна была измениться в "правильную" сторону.

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

Первый раз участвовал в олимпиаде, код писал на Visual C++ 2010, при отправке задачи все время выдавало ошибку компиляции якобы "stdafx.h" не открывается, вопрос, каким образом мне отсылать код если без "stdafx.h" если на Visual studio 2010 од даже работать не будет??

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

    Создать проект без precompiled headers в VS. (Консольное приложение win32 — галочка пустой проект)

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

Hello, 2014!! (in Japan)

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

So easy!

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

Great round to say good bye to 2013, I am equally hopeful for great contests this year!