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

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

Здравствуйте все!

Возможно, некоторым уже известно, а некоторые забыли или даже не знали, что в ближайшее воскресенье (27 мая 2012 г.) в 11:00 по Московскому времени состоится первый квалификационный раунд RCC 2012.

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

Я думаю, что не будет лишним написать ещё раз ссылку — Русский кодо-кубок.

Желаю удачи на раунде.

Член жюри.

Председатель жюри : andrewzta.

Координатор задач : Joshik.

Раунд подготовили : Павел Кротков pashkal, Николай Ведерников VedernikovNV, Андрей Комаров komarov, Демид Кучеренко BLIZZARD, Владимир Ульянцев, Антон Ахи anton.akhi и Aksenov239.

Помогали в подготовке : Антон Банных anton.bannykh и Владислав Исенбаев winger.

Опубликован разбор задач: http://russiancodecup.ru/round/6/analysis

Если кому-то хочется посмотреть на доказательство равенства простых — http://codeforces.me/blog/entry/4625#comment-94117.

P.S.: Если что-то не совсем понятно в правилах пишите в службу поддержки — http://russiancodecup.ru/feedback/.

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

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

Какая разница, квалификация это или нет, если тут футболки разыгрываются :)

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

Хотел уточнить. Можно ли в квалификации участвовать, если тебе нет 18 лет?

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

А сколько длится раунд ?

Ы.. как-то глаза два раза проскакивали мими блёклого шрифта =(

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

Русский кодо-кубок

Русский кодекс-чашка

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

В прошлом году футболки были на 2 размера меньше, чем на них написано...

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

А кто-нибудь недавно регался? Я имею ввиду ближайшие пару дней. Просто когда я регаюсь у меня всегда вылетает ошибка "Неправильно введены цифры с картинки". Вдруг еще есть те, кто не прошел регистрацию, как я :) Как вообще сообщить организаторам об этой проблемме? Есть раздел "Обратная связь", но там опять же эта картинка с цифрами... UPD: нашел мыло [email protected]. Сейчас напишу UPD2: на это мыло письма не доходят. Вопрос остается

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

Интересно, я один увидел красивое предложение о приближающемся соревновании, в котором нет сказуемого)

Возможно, некоторым уже известно, а некоторые забыли или даже не знали, что в ближайшее воскресенье (27 мая 2012 г.) в 11:00 по Московскому времени.
»
14 лет назад, скрыть # |
 
Проголосовать: нравится +28 Проголосовать: не нравится

Напишу сюда.

Мне непонятно в правилах, почему в пункте 14 в предложении "Компиляция должна завершиться в течение 30 секунд, компилятор может использовать при компиляции более 512 мегабайт памяти." отсутствует частица "не" перед "может".

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

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

Дизайн футболок в этом году изменится? :)

Интересно, насколько вырастет конкуренция в этом году, по сравнению с прошлым. В прошлом все как-то с вялым интересом посмотрели на этот контест, с его организацией квал, картинкой с регламентом, проблемами с регистрацией и все остальным... А потом смотрели онсайт с открытыми ртами :)

Подозреваю, что в этом году простым смертным попасть на онсайт будет намного труднее.

Кстати, по поводу дизайна футболок. Есть подозрение, что в этом году его кардинально поменяли. Судите сами по изображению на странице соревнования. Вместо уродливой и некрасивой цифры 1 (спереди внизу футболки, сбоку от числа 201) теперь будет красивая, приятная для глаза и более подходящая по дизайну цифра 2.

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

А ссылка на интерфейс участника где и когда появится?

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

Нормального обратного отсчета нет >_<

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

Интересно, я один такой везучий, что зашел в веб-интерфейс через 5 минут после старта, подтвердил участие в RCC 2012, стал отображаться в интерфейсе как участник, написал A, стал ее сдавать, получил длинное красное сообщение об ошибке, написал об этом жюри, написал C, стал ее сдавать, получил такое же длинное красное сообщение, снова написал жюри, т. к. на первое сообщение они не ответили, продумал B, начал писать, и получил сообщение от жюри следующего содержания: "Дмитрий, если вы подтвердили участие после начала, вы, к сожалению, не можете принять участие в раунде"??

Пожалуйста, покажите мне пункт Условий, где сказано, что для участия в раунде необходимо зайти в интерфейс до его начала, учитывая, что всем участникам RCC 2011 12 мая пришло письмо, где была строчка "Тем, кто уже регистрировался в прошлом году, достаточно войти под прежним логином и подтвердить участие", откуда следует, что я автоматически зарегистрирован.

В любом случае, согласитесь, странно, что в интерфейсе я отображаюсь как участник, но сдавать не могу.

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

Ненавижу e-maxx!! почему не работает поиск мостов у него на сайте.

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

    МБ потому что у Вас руки кривые? Тут e-maxx не виноват.

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

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

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

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

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

    Интересно, это относится к заготовленными не тобой программами?

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

    А ещё в правилах можно найти "Участникам запрещается общаться на темы, связанные с задачами, с кем бы то ни было, в том числе с другими участниками". Что, на мой взгляд, включает в себя давание существенных подсказок по решению задачи во время контеста.

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

    А я по памяти написал :-p

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

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

А в списке задач в это время "1 попытка в очереди".

И вот сидишь-гадаешь, минус по ней, или все-таки плюс — тестируется долго...

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

что за третий тест в В? О_о
UPD после коммента Anton_Lunyov понял, что нагнал по полной в подсчете в случае 1 компоненты.

спасибо авторам за задачу Е, позволила не пролететь))

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

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

    если > 2 — ответ точно 0. если 2 — одно решение, если 1 — другое решение.

    может, в этом?

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

      как решать, если одна?

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

        Если одна компонента — то ответ это два слагаемых. Первое это произведение всех имеющихся рёбер минус количество мостов на количество отсутсвующих рёбер( n*(n-1)/2 — m) . Второе слагаемое это сумма по всем мостам, произведения количества вершин с одной стороны моста на количество вершин в другой минус 1(сам этот мост).

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

        Считаем число мостов, для каждого моста считаем количество вершин в одной из двух компонент, на которые граф распадается после его удаления. Тогда ответом будет (n*(n-1)/2 — m)*(m — k) + сумма по (n-r[i])*r[i] — 1 для мостов, где k — число мостов, а r[i] — число вершин в одной из двух компонент.

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

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

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

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

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

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

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

        Пусть вначале удаляется не мост, тогда один вариант (n*(n-1)/2-m)*(m-cnt) где cnt — количество мостов. В случае удаления моста: разобьем граф на компоненты реберной двусвязности и построим такую конденсацию. Это будет дерево. Для каждой вершины этого дерева храним размер поддерева (динамикой посчитать можно). Ну и понятно, что к ответу тогда приплюсовывать.

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

        Ищем мосты, выделяем компоненты реберной 2-связности. Можно удалить любое внутрикомпонентное ребро и добавить совсем любое. Можно удалить любой мост. Тогда граф разделится на две компоненты связности. Можно добавить любое ребро между ними, кроме только что удаленного моста. Считать кол-ва вершин в получившихся компонентах можно, сжав граф в дерево (вершины — бывшие компоненты двусвязности) и посчитать на нем кол-ва вершин исходного графа в поддеревьях.

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

      Ну у меня также, да. Вроде попроверял разные тесты вручную, проходит. Вообще не могу понять в чем бага
      UPD понял)

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

      У меня также, причем если 1 компонента, ТЛьной решение пытался сдать, в итоге ВА3

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

    Мб, что-то такое?

    6 5

    1 2

    2 3

    2 4

    4 5

    4 6

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

    Ну там есть три принципиальных случая. Граф связный, граф с 2 компонентами, граф с больше чем двумя компонентами. Во втором случае надо не забыть, что нельзя удалять мосты. А добавлять надо понятно что. Что из этого забыли, смотрите сами.

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

    Правильно ли я понимаю что ответ либо (2 2 3), либо (2, 2, 5), либо (3, k, k + 2), либо (3, k, k + 4)? И, если это так, то в чем еще можно накосячить?

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

      ответ (p, p, 2p ± 1). Чисто экспериментальный факт. Почему других не бывает не знаю.

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

      ответ (p, p, 2p +  - 1)
      UPD набросок доказательства: d1 + d2 = d3 +  - 1, далее подставляем d1 + d3 сравнимо с  +  - 1 по модулю d2. Получаем, что либо d2 = 2, либо d1 = d2, либо d1 + 1 делится на d2. Аналогично либо d1 = 2, либо d2 = d1, либо d2 + 1 делится на d1. Получаем d1 = d2, ну и подгоняем d3.

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

    Вообще-то уже можно скачать тесты. Третий тест какой-то большой.

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

    У меня из-за отсутствия long long'ов падало на 3ем

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

    Третий тест в В это вроде как 40 полных графов из 100 вершин, соединенных в одну цепочку. На нем действительно очень многие падали еще и на прорешивании.

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

Прикольно, дали штрафу за послыку ПОСЛЕ AC :)

UPD: сняли

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

То приятное чувство, когда все вокруг сдают задачу, а у тебя нет никаких идей по ней... Как решать С?

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

    заметим, что невыгодно брать подпоследовательности длиной более 3

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

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

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

      Кстати, а там так и надо было прологарифмировать и сделать динамику или можно точно решать?

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

      Да, спасибо...

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

      Блин. У меня была константа MAGIC в коде равно 200. Получал ТЛ. Надо было еще уменьшить)

      Ну и естественно вопрос. Как мы это замечаем?) Печатаем и смотрим?

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

        Была задача подобная на acmp, сейчас найду)
        UPD хм, не нашел. Ну значит не на acmp, но где-то была задача "Дана сумма натуральных чисел, найти наибольшее возможное их произведение"

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

        Поскольку там произведение, то интуитивно ясно что размер групп маленький. Теперь попробуем доказать верхнюю оценку. Ясно, что группы размера 2 и 3 точно могут быть в ответе. Также видно, что группу размера 4 уже можно разбить на 2 группы размера 2. Делаем предположение про группы размера >4 и доказываем по индукции.

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

        Некий факт, который ещё используется и в этой задаче 1222. Chernobyl’ Eagles Максимальное произведение получаем когда множители близки к e ~ 2.71. Т.е. 2 или 3.

        The product of natural numbers with a given condition in this problem will be maximal if and only if the middle arithmetic of these numbers is the most closely to the number e=2.71828... It's a mathematical sentence which are proved! Форум

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

        Пусть есть кусок хотя бы 4, делить его на части ясно хуже не станет 2*(n-2) >= 4.

        Если есть и тройки и единицы, то можно обеъдинить 3 (2 2 2) 1 в 2(2 2 2) 2, ну дальше ясно, что у нас в итоге заменяются три двойки на две тройки, что выгодно.

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

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

        У меня другой вопрос — почему в double'ах с логарифмированием заходит? Есть какое-нибудь рациональное объяснение этому? Т.е. верно ли утверждение, что для любых разбиений на группы значения целевой функции сильно отличаются? Или это верно только в окрестности оптимума? Или вообще неверно, и тесты слабые?

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

          Только что написал перебор всех значений (a, b), таких что 3a + 2b ≤ 50000. Если отсортировать все величины ln(3) * a + ln(2) * b, то 2 самые близкие из них лежат на расстоянии 1.8 * 10 - 5.

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

            Ну ладно, значит с тестами всё ок :) Но вопрос остаётся — что можно доказать про то, насколько бывают близки разбиения, в общем случае? Кажется, если рассматривать произвольные 2a·3b, то они могут быть близкими. Или нет?

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

              Из этой теоремы следует, что логарифмы могут быть сколь угодно близкими. Правда, это не говорит о самих значениях 2a·3b.

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

              Ну тут можно просто при сравнении двух значений (2^a*3^b ? 2^c*3^d) сократить 2-ки и 3-ки и получить (2^n ? 3^m) или (3^n ? 2^m). А далее сравнить их как описал KADR

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

              Произвольные-то могут, но те, кто писал с логарифмированием, при фиксированном 2a+3b их сравнивали, нет? В этом случае, например, замена трех двоек на две тройки понятно какое приращение дает.

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

        У меня была константа 1000 и я получил ОК. Откуда там может быть ТЛ, всего 5*10^7 операций с даблами. У вас так вообще 10^7. Как так?

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

    там все получающиеся куски длины либо 2, либо 3

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

    Динамикой, храним логарифм реального ответа для некоторого префикса + длину каждой группы я ограничил 20.

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

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

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

Как решать Е?

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

Я, конечно, сам дол...., что правила не читаю, но ,....., объясните мне кто-нибудь, почему у них под гнусь размер стека выставлен, а под visual нет?

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

а почему compilation error считается за попытку?

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

в Задаче C нам нужно брать куски длиной 1, 2 либо 3. у меня прошла динамика по логарифму реального ответа.
В задаче B я делал извратное рекурсивное решение на DSU с откатами, когда мы в самом низу рекурсии DSU содержит все рёбра, кроме одного, которое мы типа удалять собираемся. В этом случае возможно два варианта: либо это ребро — мост, тогда в DSU сейчас всего два множества, вершины данного ребра лежат в этих двух множествах, одна вершина в каждом множестве, прибавляем к ответу |A| * |B| — 1. в противном случае ребро не мост, и если в DSU сейчас два множества, перемножим их размеры и прибавим к ответу. Размеры этих двух множеств нужно посчитать один раз, т.е. если такая ситуация повторится, множества будут ровно те же самые. Как её решать по-русски? Я сдал её с 9-ой псылки из-за ТЛ и прочих ошибок.

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

    C 11 попытки на Java из-за TLE :)

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

    Надо посчитать 2 вещи:
    1. Количество и размеры компонент связности.
    2. Какие из ребер графа мосты.
    Все это делается в одном dfs.

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

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

      К сожалению я не умею искать ни мосты ни точки сочленения :) Поэтому это был единственный вариант дотупный мне. Вообще-то решение довольно простое, там не так много мест где ошибиться, просто я че-то втупил жесточайше.

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

Какое самое эффективное решение у А?

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

Эх, как обидно. 234 человека с 2+ задачами и я 231-ый из-за того, что идиот.

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

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

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

Встречайте в тренировках 2012 Russian Code Cup, квалификация 1.

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

Опубликован разбор задач: http://russiancodecup.ru/round/6/analysis.

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

    Подробность разбора просто впечатляет. Например, по задачам C и E такое впечатление, будто бы авторы сами только глянули на них и, без написания кода, набросали самые общие идеи

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

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

      И в А разбор совсем никуда не годный :(
      Хотя она, имхо, сложнее С или Е.

    • »
      »
      »
      14 лет назад, скрыть # ^ |
      Rev. 5  
      Проголосовать: нравится -50 Проголосовать: не нравится

      Поверьте, доказательство не очень сложное.

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

        Правка 4 это БОМБА!

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

        Я рад за нынешних пятиклассников (к слову, из первой сотни участников задачу сдали далеко не все, а доказали корректность решения, видимо, еще меньше).

        В разборе же как раз опущен единственный нетривиальный для меня момент — объяснение того, почему d1 = d2.

        Не поленитесь уж, объясните нам, старым дегенератам =)

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

          1 пост.

        • »
          »
          »
          »
          »
          14 лет назад, скрыть # ^ |
          Rev. 3  
          Проголосовать: нравится -28 Проголосовать: не нравится

          2 пост.

        • »
          »
          »
          »
          »
          14 лет назад, скрыть # ^ |
          Rev. 17  
          Проголосовать: нравится -16 Проголосовать: не нравится

          Ок. Я напишу разбор здесь, так как там в html достаточно сложно всё это написать.

          Докажем, что какие-то 2 из них равны.

          Пусть нет двух равных. Упорядочим по возрастанию — d1 < d2 < d3. Тогда посмотрим на (d1 + d2 - 1)(d1 + d2 + 1) — оно делится на d3. Несложно заметить, что d1 + d2 - 1 < d1 + d2 + 1 < 2 * d3. Из этого получаем, что d3 = d1 + d2 - 1 или d3 = d1 + d2 + 1.

          Для примера возьмём d3 = d1 + d2 + 1, второй случай аналогичен.

          Давайте подставим в другие условия d3 — например, (d2 + d3)2 - 1 ≡ d1(2d2 + 1)2 - 1 = 2d2(2d2 + 2). Случай с двойкой неинтересен. Значит, или d2, или d2 + 1 делится на d1. Аналогично, или d1, или d1 + 1 делится на d2. Из этого уже ясно, что d1 = d2.

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

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

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

      Спасибо за понимание и конструктивную критику.

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

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

        В задаче Е самая нетривиальная часть решения, которую, наверное, все хотели понять — а именно, почему d1 = d2 — описана как "ну, это даже пятиклассники решают, так что не поленитесь и вы". Зачем тогда вообще было писать разбор на эту задачу, если всю идею опустили, а то, что написали — и так тривиально?

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

          Возможно вы правы. Хотя, откровенно говоря, часто техничные вещи "оставляют как упражнения" даже самые уважаемые авторы.

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

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

            Просьба тоже не воспринимать написанное мной как какую-то жесткую критику. Объективно — сам раунд был хороший и (кажется, не только мне) понравился. Но разбор задач C и E подкачал (причем для остальных задач разбор достаточно подробный), о чем я не преминул написать. Ну и удивился, получив в ответ не слишком, имхо, адекватную (не говоря уж про банальную вежливость) реакцию.

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

Как бороться со stack overflow в B? Сдавать под MS? GNU — WA4.

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

А можно на странице результатов добавить функционал, который бы выводил вверху (где пишутся твои результаты) результаты "друзей", как в GCJ или на Codeforces?

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

    только хардкор — только поиск постранично вручную!

    или нулевая задача контеста — напишите плагин, который делает это

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

    Спасибо за предложение. Более эффективно отправлять предложения через форму обратной связи на сайте Russian Code Cup.

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

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

Проснулся в 15:00. Пропустил, как обычно.

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

Присоединяюсь к озвученному выше негодованию. Разбор не выдерживает никакой критики.

"Можно доказать, что существует ответ, в котором отрезки имеют длину не более трёх". Клмн, это и есть единственная сложность в задаче (ну и логарифмы конечно, но о них вообще ни слова).

"Первым делом следовало заметить, что два наименьших простых числа обязаны быть равными — иначе, условия выполняться не будут." Иначе условия выполняться не будут — обоснование просто обезоруживает.

Кому-то лень писать разбор — тогда его лучше вообще не писать.

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

    Здравствуйте, steiner.

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

    Аксёнов В.

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

      Здравствуйте, Aksenov239.

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

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

Здравствуйте.

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

С уважением, Аксёнов В.

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

    А где же ссылка?! За всех не скажу, но мне раунд показался весьма удачным. Довольно интересные задачи, короткие и понятные условия (привет GCJ!), никаких реджаджей. Единственная претензия — к качеству разбора — вряд ли была бы озвучена, если бы не хамство одного из авторов (не будем показывать пальцем) в треде выше.

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

      Хамства не было. Всё вполне обосновано. Вам прислать выдержку — "Как не быть мудаком"? Ведите, пожалуйста, себя адекватно.

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

        "Такую задачу пятиклассники решают — неужели Вы не можете справиться?"

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

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

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

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

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

            Я рад за пятиклассников, но доказательство выше страдает, минимум, двумя неточностями:

            1) Доказано, что какие-то два числа равны. Не рассмотрен случай d2 = d3.

            2) Cлучаи d2 = 2 и d3 = 2, конечно, не интересны. Пропущен, возможно, важный случай d1 = 2.

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

              Я могу показать этот случай. Если d1 = 2 и d2 != 2, то (d1 + d2 — 1) — четное, (d1 + d2 + 1) — четное. Значит, так как ни первое, ни второе не равно 2(иначе нарушается условие о неубывании), то оба они не являются простыми.

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

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

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

              Добавлю: соблюдать традицию не писать пробел перед двоеточием и грамотно написать слово "кодокубок" (перевод названия соревнования и использование слова "русский" в переводе оставим на совести автора).

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

            Когда участники просят что-то объяснить (а среди участников RCC могут быть люди, которые вообще не имеют профильного образования), указывать им на то, что они тупее каких-то гипотетических пятиклассников — последнее дело.

            В некоторых соревнованиях прямо в условии рассказывают, что такое логарифм, и что такое XOR. И не видят в этом ничего поражающего воображние. Проще надо быть, а не строить из себя высокомерного засранца.

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

            Виталик, ты меня извини, но нужно быть проще.

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

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

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

            Я не участвовал в холиваре который происходит чуть выше. Но могу сказать, что меня удивляет наглость ОДНОГО ИЗ АВТОРОВ задач который прямым текстом называет почти всех участников большого соревнования тупыми идиотами и при этом еще и отстаивает свою точку зрения. С другой стороны мне кажется если автор считает что он настолько крут что такие задачи решал в "пятом классе", почему он не подготовит какой-нибудь крутой набор задач на олимпиаду по математике на уровне Всероса или Межнара и не будет мешать развиваться кодерам?

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

            Здравствуйте, сообщество.

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

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

            В-третьих, я имел в виду нынешних пятиклассников. :-)!

            В-четвёртых, всё это происходит ещё после моего последнего раунда на "Codeforces". Я просто ошалел от того, что делают люди — им подготовили контест, в котором была ошибка в 1 задаче, которую я признал, но меня поразило то, что до раунда было около "+110", а после его проведения стало "+25". (Между прочим, после этого я до сих пор на нервах, а им очень плохо. И я под присмотром врача. Спасибо, ребята!) Здесь же ровно такая же ситуация. Я просто выхожу из себя и не могу себя нормально контролировать, потому что я всё принимаю близко к сердцу.

            Извините за такой просчёт, я постараюсь больше не причинять Вам никаких хлопот.

            P.S.: Ваше отношение ко мне я тоже принял близко к сердцу между прочим. :-)! (А с моей неустойчивой психикой я могу и суицид совершить...)

            P.S.2: Можно, пожалуйста, не писать критику сразу по поводу того, что разбор задачи — "говно" (_"Разбор не выдерживает никакой критики."_), напишите чего Вам не хватает, и я с радостью сделаю то, что надо. Но надо нормально сообщать, а не таким образом. Извините ещё раз.

            До свидания.

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

              суИцид.

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

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

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

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

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

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

              Возможно, чтобы избегать ошибок в задачах, нужно написать полный разбор ДО раунда, с полным доказательством всех фактов? И ошибок станет меньше после того, как тщательно все будет изложено на бумаге. И не будет необходимости жаловаться потом на непонимание тех, кому очень не нравится участвовать в раундах, в которых были ошибки. Может быть, стоит с уважением относиться к УЧАСТНИКАМ раунда при подготовке, и тогда с уважением будут относиться к вам?

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

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

              (Алсо, никогда не понимал, почему некоторые волнуются из-за плюсов/минусов: большая часть голосующих — совершенно незнакомые вам люди, какое вам дело до их мнения (вы же не политик какой)? Да может это и не люди вовсе, а чья-то очередная армия ботов.)

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

А в чем сыр-бор по E. Пусть для определенности d1<=d2<=d3. (d1+d2)^2-1 делится на d3 Следовательно, из простоты d3, получаем k3*d3=d1+d2+{1,-1} Следовательно, либо d3=d2=d1+1, что приводит нас к невозможному варианту (2 3 3), либо d3=d2+d1+{1,-1}. Тогда аналогично k2*d2=d1+d3+{1,-1}=d1+d1+d2+{2,0-2} Тогда (k2-1)/2*d2=d1+{1,0,-1}, что опять таки нас приводит либо к невозможножному варианту d1=2,d2=3, либо d1=d2, ч.т.д. И это на самом деле просто. Но, функция разбора не только в том чтобы объяснить решение, но и в том чтобы продемонстрировать участникам, что организаторы на самом деле тщательно готовились. А все здесь присутсвующие легко это смогли бы доказать тем или другим способом. Организаторам надо понять, что возмутило всех внешне небрежное отношение к работе. И еще, импульсивность и интеллект часто очень перемешаны. Так что не будем никого судить особенно строго, а уж тем более минусовать ;). Я от задач получил удовольствие. И это главное.

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

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

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

    Thank you, captain ;)