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

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

Предположительно с вечера 7 августа были зафиксированы проблемы с проверяющим сервером SNSS-2012. Судя по всему, для некоторых участников сервер (точнее, подсеть мехмата МГУ, в которой находится сервер) в течение определённых промежутков времени не была доступна.

Проблемы продолжались до 9 августа, соответственно, было принято решение о переносе SNSS-2012 на тот же сервер, на котором размещены основные ресурсы проекта SnarkNews. По поводу участников, на результат которых "падения" предыдущего сервера оказали влияние, будет принято решение о назначении компенсирующего результата.

В данный момент после переноса турниров на новый сервер проблемы остаются. В связи с этим:

  1. Второй раунд SNSS-2012 будет продлён как минимум до 03:00 11 августа.
  2. Все участники, выславшие решения после падения сервера по e-mail, получат компенсационный результат после проверки высланных решений. Аналогичное решение принято по участникам, для которых в начале раунда сервер был недоступен, при этом задачи были сданы через короткое время после окончания времени соревнований в дорешивание.
  • Проголосовать: нравится
  • +12
  • Проголосовать: не нравится

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

Мне кажется это все уж больно похоже на анрейт 2го раунда...

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

    Ну, восстановить времена можно, благо участники, встретившиеся с этим эффектом, отправляли на email решения (по моменту отправки восстанавливается время посылки). Да и основная часть писавших контест с проблемами не сталкивалась.

    Так что всё же не анрейт, а объединённый результат.

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

      Почему-то кажется, что участники, встретившиеся с этим эффектом, не отправляли на e-mail решения, а просто огорчились и забили на контест.

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

В данный момент еще не перенесено? Когда примерно можно будет начать?

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

Какова ситуация в настоящий момент? У меня ссылка "Вход в систему" для 3 раунда не открывается.

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

    По некоторой причине работа ejudge на виртуальном XEN-сервере оказалась нестабильной, и один из основных процессов просто тихо "умирает" после запуска, не оставляя следов в логах. Таким образом, сервер проверяющей системы SNSS-2012 будет возвращён на прежний хост (с возможным дублированием на зеркале, размещённом в СПбГУ).

    В ближайшее время последует информация по поводу порядка написания R3. Пока что от написания раунда лучше воздержаться.

    Принимая во внимание результаты рейтингового голосования по поводу версий "unrated" или "объединение результатов", решено второй раунд в результатах SNSS 2012 не учитывать.

    Результаты участников, написавших третий раунд на srv.snarknews.info (новом сервере) будут учтены в общей таблице.

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

      "Принимая во внимание результаты рейтингового голосования по поводу версий “unrated” или “объединение результатов”, решено второй раунд в результатах SNSS 2012 не учитывать"

      А что это за голосование, и где оно проходило?

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

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

        По-моему видно из таблицы: там несколько сильных участников, решивших 4 задачи за короткий срок и "почему-то" не сдававшие следующие задачи.

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

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

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

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

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

          Организаторов, безусловно, должны волновать проблемы всех участников. Но, если кто-то занял, условно, 80-е место вместо 50-го, то это не может являться причиной “_... второй раунд в результатах SNSS 2012 не учитывать_”.

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

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

            Приехали...

            А Вы знали, что простые смертные сортируются по количеству решенных задач?:)

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

              Я понимаю, что для любого участника важно какое место он занял. И, если он пострадал от технических проблем, то это плохо.

              Но я о другом, о решении “… второй раунд в результатах SNSS 2012 не учитывать”.

              Результаты SNSS 2012 — это сумма баллов участников по проведенным раундам. А баллы начисляются за места 1-30. И мне непонятно, почему этот раунд не учитывается, если никто даже не заявил, что он мог бы получить баллы (больше баллов), но не смог этого сделать по техническим причинам.

              И что это было за непонятное "рейтинговое голосование", тоже вопрос.

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

                Раз уж Вы так дотошно изучаете правила, то в случае равенства участники сортируются по все тому же количеству задач.

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

                Я понимаю Ваши эмоции, но ведь не на корову играли:)

                UPD Под голосованием, возможно, имели в виду первые 2 коммента в теме.

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

                  Чего я ожидаю, так это большей прозрачности при принятии решений. Сам же Snark пишет, что "основная часть писавших контест с проблемами не сталкивалась". Так может и вообще ничего существенно повлиявшего на результаты не произошло? В первом раунде, например, были проблемы с задачей С, понятно, что кто-то от этого постадал (даже с учетом пересуживания), но вопрос об анрейт не подымался же.

                  А учитывать результаты голосования по постам — это вообще странно. Даже в раундах CF/TC половина участников рейтинг понижают и результатами, естественно, недовольны. А в SN*S баллы получает меньше четверти участников, из которых многие тоже считают, что могли бы выступить лучше. Так что результат голосования более чем предсказуем и с наличием технических проблем, думаю, мало коррелирует.

                  Но, ладно, действительно, "не корову проигрываем".

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

                  Мне кажется все же не стоит участников так обижать :)

                  Если обсуждается, достаточны ли были технические проблемы для анрейта, то люди и высказывают своё мнение по этому поводу, а не по поводу "хочется ли мне, чтобы был анрейт". Я верю в это :)

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

                  навеяло:

                  Я верю в честность Президента
                  И в неподкупность постовых ,
                  В заботу банка о клиентах…
                  В русалок верю, в домовых.

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

                  Возможно я не прав, но это как раз следствие отсутствия информации. Если бы было объявлено что "проблемы с сервером могли повлиять на результат ... участников", то я может и не выступал бы.
                  Кстати, любопытно было бы сравнить это число с количеством участников, выступивших "за анрейт". Таковых как минимум 41, возможно больше. Этакое социологическое исследование провести :)

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

                  Я не спорю что больше информации лучше.

                  Но все равно не понимаю, куда вы клоните с голосованием :) Ну пусть проблемы с сервером повлияли на 20 участников (думаю, разумная оценка). Пусть "за анрейт" проголосовало 50 человек. Какой вы из этого делаете вывод? Я — что люди, даже не испытавшие проблем лично, голосуют за анрейт, потому что видят, что были серьезные проблемы.

                  // Я сам не голосовал, могу только догадываться :)

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

                  По-моему, сам Snark, владеющий всей информацией, изначально не считал проблемы настолько серьёзными, чтобы объявлять анрейт. Откуда люди-то могли прийти к такому выводу.
                  Кстати, интересно, а кто-нибудь помнит хоть один анрейт на SN*S? Я что-то не припоминаю.
                  Но, ладно...
                  Сам я, конечно, тоже не голосовал.

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

                  Ситуации с автоотключением контеста после 6-7 часов работы "втихую" (без записи в лог) тоже ни разу не было. Обычно просто основной сервер был какое-то время недоступен. Сейчас же наложилась недоступность сервера МГУ (причём "мигающая") и странные проблемы у ejudge с xen-виртуальной машиной на хостинге.

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

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

                  Два вопроса: 1. сейчас с сервером всё нормально, можно без проблем писать? 2. какие раунды до когда продлены?

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

                  Считать голосованием рейтинг комментов на codeforces — не очень хорошая идея: учитывая регистрацию без капчи и количество ботоводов, "вклад" и всё, что с ним связано, давно потеряли любой физический смысл.

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

        Насчёт сильнейших участников — пример также имеется.

        Один из лидеров первого раунда Антон Райчук "собрал" проблемы сразу после старта. Его решения были пересланы на e-mail только с приблизительным временем (то есть по сути, турнир проходил "без системы").

        Ещё у двух участников из-за задержки, вызванной неработоспособностью сервера, последняя задача (F) сдалась (на OK) только в дорешивании. То есть как минимум двое "шестизадачников" пострадали.

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

    Я сейчас могу зайти в третий раунд. Но писать боюсь.

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

http://snss2012.snarknews.info/index.cgi?data=snss12/schedule&menu=index&head=index&mod=snss12&class=snss12

А здесь не было этих изменений:( Где находится самое актуальное расписание раундов?

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

Планируется ли продление третьего раунда? Если да, то на сколько?

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

Кстати, из таблицы третьего раунда люди пропадают! С чем это связано?

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

Как делаеться F из второго раунда?

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

    Сумму делителей числа x = p1α1·p2α2·...·pkαk можно представить как (1 + p1 + p12 + ... + p1α1)(1 + p2 + p22 + ... + p2α2)...(1 + pk + pk2 + ... + pkαk). Пусть эти частичные суммы — si, α. Т.е., если мы найдём какое-то разбиение n на произведение делителей, которые являются этими частичными суммами, то мы находим и одно решение (только надо удостовериться, что каждые две суммы из разбиения сделаны из разных простых чисел).

    Как находить эти разбиения. Преподсчитаем все частичные суммы для простых чисел, меньших . Отберём все суммы, на которые делится n. Дальше запускаем перебор, пытаясь разделить всё время n на какую-то из этих сумм. Если мы дошли до того, что оставшийся n — единица, то мы нашли подходящее разбиение. Также, если мы дошли до того, что от n осталось число t, большее , то проверяем, является ли t - 1 простым числом (т.е., для простых чисел, больших , мы преподсчёт не сделали, поэтому проверяем напрямую; а т.к., если в разбиении участвует какая-то частичная сумма от простого числа q, большего , то n может делиться только на одно такое, и при том оно в виде (q + 1)).

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

      Я писал такое же, только неоптимально и у меня получало тл, можно посмотреть код если есть?

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

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

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

      Делал почти так же. Помогли два отсечения:

      // простые идут в порядке возрастания
      if (curPrime + 1 > n) {
      	continue;
      }
      if (1L * curPrime * curPrime + curPrime + 1 > n) {
      	long only = n - 1;
      	if (isPrime(only)) {
      		answer.add(curAns * only);
      	}
      	continue;
      }
      

      Быдлокод с контеста

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

В задаче А (round 3) есть какая-то проблема с входными файлами. У меня, до закомментирования файлов, упорно был ТЛ на первом тесте.

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

А можно убрать из текущего сводного рейтинга по раундам второй раунд?

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

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

"Bad data

Your browser has sent the data in the format that this program cannot parse."

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

    У меня такое было, когда я писал R2, но на вообще все попытки.

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

Как решать про доминошки в третьем раунде?

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

    Удобнее всего рекурсией. По пути храним в векторе текущую цепочку. Примерно так:

    • Если все доминошки использованы, и начало и конец цепочки совпадают, увеличиваем ответ
    • Пихаем в вектор какую-нибудь доминошку, которая подходит к текущему концу, отмечаем что таких стало на одну меньше
    • Запускаемся рекурсивно
    • Вынимаем последнюю доминошку из вектора

    Еще можно динамику по подмножествам писать, там чуть посложнее выйдет.

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

      Как можно динамикой ? Я писал, но она брала одинаковые варианты несколько раз.

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

        Динамика самая обычная, [mask][first][last]: маска вже взятых доминошек, первое число, последнее число.

        Для того что-бы не учитывать одинаковые по несколько раз, достаточно вконце ответ поделить на k1! , k2!... Где k1,k2... количество одинаковых доминошек соответствующего типа.

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

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

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

        Потом делить на (p1!*p2!*pn!), где pi- это доминошки одинакового вида.

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

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

        Так как ограничения не очень большие, то проверку можно осуществлять простым вложенным циклом.

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

Как решается С из третьего раунда?

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

    Преобразование Фурье.

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

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

Я так понимаю, итоги 3 раунда уже подвели. Вы рассматривали апелляции, связанные с чтением из файла в первой задаче? У меня, например, лишняя штрафная попытка из-за этого.

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

    Апелляции рассмотрены. Конкретно по этой апелляции все решения с test==1 пересужены. Результаты с srv.snarknews.info добавлены — сейчас результаты вроде бы финализированы.

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

В задаче F 3-го раунда есть формула за O(1)?

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

    А как её вообще решать?

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

    Я решал за O(N) — формула включений-исключений, N/L слагаемых, каждое считается из предыдущего за L.