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

Автор yaro, 14 лет назад, По-русски
Доброе утро (день, вечер, ночь)!

Авторы сегодняшнего раунда — Rei и yaro. Мы долго выбирали задачи для раунда и надеемся, что итоговый вариант вам понравится.

Наши благодарности координатору задач Артему Рахову за неизменную отзывчивость при совместной подготовке раунда, а также тем (тому), кто делает систему Codeforces все более удобной, функциональной и стабильной.

Удачи!

UPD. Разборы: А B C D E
  • Проголосовать: нравится
  • +74
  • Проголосовать: не нравится

14 лет назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится
Всем удачи!
14 лет назад, # |
  Проголосовать: нравится +13 Проголосовать: не нравится
хотелось бы знать не только никнеймы авторов, но и их имена и ВУЗ(ы), которые они представляют

ждём интересного контеста :)
  • 14 лет назад, # ^ |
      Проголосовать: нравится +8 Проголосовать: не нравится
    yaro с матмеха СПбГУ, инфа 100%
    а вот про Rei и бывшего напарника yaro cerealguy я ничего не знаю
    • 14 лет назад, # ^ |
        Проголосовать: нравится +10 Проголосовать: не нравится
      Я все-таки думал, что аффтары представятся, а то нам ведь интересно.
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
а зачем контесты проводить в первой половине дня? большинство в это время учится. поэтому пропускаю соревнование, а хотелось бы поучаствовать(
  • 14 лет назад, # ^ |
      Проголосовать: нравится +4 Проголосовать: не нравится
    Для другой половины планеты.
    • 14 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      А если провести в выходной, обе половины планеты будут счастливы :)
      • 14 лет назад, # ^ |
        Rev. 2   Проголосовать: нравится +3 Проголосовать: не нравится
        У половины планеты сейчас сессия, так что если сегодня нет экзамена, то вполне есть возможность написать контест.
        А у второй половины планеты вечер, так что все в порядке:)
        • 14 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится
          А у третьей половины каникулы закончились и начались занятия в школе...
          • 14 лет назад, # ^ |
              Проголосовать: нравится +2 Проголосовать: не нравится
            у нас три половины?!
            • 14 лет назад, # ^ |
                Проголосовать: нравится +3 Проголосовать: не нравится
              Ну, получается так. Если одна половина на сессии, у второй сейчас вечер, то куда остальных девать.
      • 14 лет назад, # ^ |
          Проголосовать: нравится +8 Проголосовать: не нравится
        Да, хотелось бы побольше контестов в выходные, а то из-за работы ничего не успеваю написать.
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
скажите а как посмотреть на каком тесте меня взломали?
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    После контеста можно вот тут  http://codeforces.me/contest/55/hacks  найти себя и нажать на "Успешный взлом". Но там отображаются не все взломы.. кажется только последние, поэтому можешь не найти себя там.
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    После контеста можно вот тут http://codeforces.me/contest/55/hacks найти себя и нажать на "Успешный взлом". Но там отображаются не все взломы.. кажется только последние, поэтому можешь не найти себя там.
14 лет назад, # |
  Проголосовать: нравится +15 Проголосовать: не нравится
Никак. В этом вся и фича :)
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
В задаче про кексы. Второй игрок в угловых клетках ставит границу лишь на одну сторону угловой клетки или на обе внешние стороны за 1 ход??
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Второй игрок за 1 свой ход может заблокировать максимум 1 сторону клетки на границе. Лучше вопросы задавать прямо в контесте, там быстрее ответят.
14 лет назад, # |
  Проголосовать: нравится -22 Проголосовать: не нравится
В билайне козлы работают. За 5 минут до начала контеста отрубился нет и только сейчас включился.
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Столько возможностей для взломов :)
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Я ломал B на тесте:
    0 1 2 3
    + * +
    Ответ = 1 (а многие сортировали операции и сначала умножали)

    и C на следующих двух тестах:
    1)
    9 9 1
    5 5
    Ответ = YES
    2)
    11 11 1
    6 6
    Ответ = NO
    • 14 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      почему 1?

      сперва 1+2 заменим на 3, получим 0 3 3 + *

      потом 3+3 заменим на 6, получим 0 6 *

      потом 0*6=0, ответ 0
      • 14 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        Порядок операций фиксирован! Читаем условие :)
        • 14 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится
          ну всё равно фраза "сначала умножали" не корректна ;)
          • 14 лет назад, # ^ |
              Проголосовать: нравится 0 Проголосовать: не нравится
            Фраза корректна, т.к. некоторые участники действительно предпочитали сначала умножать, а потом складывать (и в этом они были неправы).
            • 14 лет назад, # ^ |
                Проголосовать: нравится 0 Проголосовать: не нравится
              хм

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

              я правильно понял? =)
              • 14 лет назад, # ^ |
                  Проголосовать: нравится 0 Проголосовать: не нравится
                Да. Я взломал решение, где пытались сначала умножать, решение, где пытались сначала складывать, решение, где перебирали все варианты расстановки сложения/умножения и решение, где операции были по порядку, но складывать пытались числа побольше, а умножать - поменьше. Итого: 3/4
                • 14 лет назад, # ^ |
                    Проголосовать: нравится 0 Проголосовать: не нравится
                  я никого не ломал по B, но судя по тому, как ты обрисовал ситуацию, я делаю вывод, что авторы хотели дать задачу на умение читать условие и им это удалось
                  • 14 лет назад, # ^ |
                      Проголосовать: нравится +2 Проголосовать: не нравится
                    Мне кажется, что задача была просто на реализацию. Тупо написать перебор и загнать. Типа проверялось умение писать переборы (не редко оказывается полезным такое).
                    Любую задачу можно прочитать неправильно. Наверное, тут было много моментов, где быстрое чтение губило.
                    • 14 лет назад, # ^ |
                        Проголосовать: нравится +1 Проголосовать: не нравится
                      Я видел 3-4 абсолютно разных подхода к решению задачи B.
                    • 14 лет назад, # ^ |
                        Проголосовать: нравится 0 Проголосовать: не нравится
                      согласен, привычка читать по диагонали имеет свои минусы :)

                      жаль, что нет статистики: сколько упало по B на систестах, скольких ещё взломали
                      • 14 лет назад, # ^ |
                        Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится
                        у меня такая же ошибка.
                        Я это понял, только когда два раза неудачно поломал, именно на том тесте, на котором у меня неправильно работает.
      • 14 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        Порядок действий менять нельзя. Т.е. надо сначало сложить, потом уножить, потом сложить.
    • 14 лет назад, # ^ |
        Проголосовать: нравится +5 Проголосовать: не нравится
      вопрос снимается :) кто-то условия за 5 лет СП читать так и не научился...

      "операции в том порядке, в котором их производил Володя"
    • 14 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      блин ((( объясни мне почему 
      9 9 1
      5 5
      Ответ = YES
      так меня и сломал 
14 лет назад, # |
  Проголосовать: нравится -8 Проголосовать: не нравится
Спасибо авторам за контест. Мне задачи не понравились, поэтому и минус много в рейтинге.
  • 14 лет назад, # ^ |
      Проголосовать: нравится +6 Проголосовать: не нравится
    Ну тут же не топкодер, почитал задачи, не нравятся - не участвуй.
    • 14 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      А я, если честно, думал, что если вошел в турнир, то уже все - дороги назад нет. То есть участие засчитывается если есть хотя бы одна посылка?
      • 14 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        да

        пока ты читаешь условия, тебя нет в таблице
        • 14 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится
          Блин, тогда есть интересная тактика. Начинаешь с задачи С (так как она зачастую более менее решаемая, а цена одной минуты у нее выше, чем у A и B). Если вообще нет идей, то черт с ним с контестом. Если решил - досдал A и B и уже имеешь преимущество на трех задачах. Надо будет попробовать :)
14 лет назад, # |
  Проголосовать: нравится +2 Проголосовать: не нравится
Может кто-нибудь объяснить мне почему в задаче С нужно проверять расстояние в 4 , а не 2 ?
  • 14 лет назад, # ^ |
      Проголосовать: нравится +3 Проголосовать: не нравится
    Потому что можно добежать до 4 разных углов вдоль границы
    • 14 лет назад, # ^ |
        Проголосовать: нравится +1 Проголосовать: не нравится
      Я вроде рисовал тесты, и всегда удавалось перекрыть путь если расстояние даже = 3.
      • 14 лет назад, # ^ |
          Проголосовать: нравится +3 Проголосовать: не нравится
        Нужно Володей подольше побегать вдоль границы (когда он до нее дойдет) и все станет ясно)
  • 14 лет назад, # ^ |
      Проголосовать: нравится +3 Проголосовать: не нравится
    Пусть тест
    9 9 1
    5 5
    (т.е. расстояние 4 до всех краев)
    Будем двигаться вверх. У нас есть 4 хода, и за эти 4 хода противнику выгодно построить укрепления:
    1) во-первых, над точкой (5 1) (мы туда угрозу все равно создадим)
    2) во-вторых, слева от (1 1) и справа от (9 1). Если этого не сделать, то из точки (5 1) мы пойдем туда, где заграждения нет, создавая попутно угрозы наверх, а в углу будет двойная угроза.
    3) От (1 1) и (9 1) затем пойдем вниз. Т.е. сопернику надо заблокировать еще и снизу от (1 9) и (9 9). Но у него остался только один ход, значит кекс выйдет-таки за пределы стола.

    Получается, что надо 5 ходов, чтоб кекс не ушел.
14 лет назад, # |
  Проголосовать: нравится +5 Проголосовать: не нравится

Эх, классные задачи! На третьей взломал 7 решений на тестах 9 9 1 5 5 и 11 11 1 6 6. И во второй два решения. 13-ая комната принесла мне удачу :)

  • 14 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится
    Да, задачки самое то для взломов.
    Я на A взломал парня, который написал if (n < 3 || n == 4), а еще на B пятерых и на C троих указанными выше тестами.
    Теперь я желтый *YAHOO*
14 лет назад, # |
  Проголосовать: нравится -41 Проголосовать: не нравится
Всякие синие да зеленые повылазили выше желтых. Я думаю, что авторам есть над чем задуматься в плане формата задач. Задача C это явно задача не для программирования. Тут преимущество получили люди, которые вообще программируют еле как, но зато сумели лучше промоделировать игру про кексы. Задачу D я, почему-то, так и не придумал. А на E и времени не было. Как результат с 1999 падаю далеко вниз и никаких шансов на красный цвет.
  • 14 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится
    Это была задача в формате TopCoder уровня 450 див1, хорошая задача, я сам по ней получил 2 взлома, но в итоге сдал. Умение подмечать некоторые особенности, не важно где, в играх или в коде, -- хороший навык. Время от времени надо давать такие задачи.
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Не согласен. Бывают хорошие задачи на алгоритмы, в которых, тем не менее, не нужно кодить. Эта задача — одна из таких.
  • 14 лет назад, # ^ |
      Проголосовать: нравится +20 Проголосовать: не нравится
    Замути свой контест и пусть в нем будут только те задачи, которые тебе нравятся.
  • 14 лет назад, # ^ |
    Rev. 3   Проголосовать: нравится +3 Проголосовать: не нравится

    Это ты писал, что ооочень понравилась интерактивная задача с NEERC?

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

    • 14 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Не вижу ничего общего между этими двумя задачами. Тем более, совершенно разные форматы соревнований. Одна задача - интерактивная, другая - нет. Вообще не понял, причем тут задача G с NEERC. Даже что написать по этому поводу не знаю.
      • 14 лет назад, # ^ |
        Rev. 2   Проголосовать: нравится +11 Проголосовать: не нравится

        Вопрос не в интерактивности.

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

        • 14 лет назад, # ^ |
            Проголосовать: нравится +5 Проголосовать: не нравится
          Кстати, Петр Митричев на разборе неправильное решение привел, если кто помнит :)
        • 14 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится
          Там соревнования командные. Там все равно в любой момент времени, как минимум, два человека не программируют. Времени подумать над задачей предостаточно. И там ACM-система. Тут же все совсем по-другому. Ну и та задача требовала в разы больше программирования, чем эта. Не знаю, сдал ли ты ту задачу. Я сдал обе (C сдал на дорешке, переведя все в 0-индексацию) и знаю, что G с NEERC требовала 15 минут, чтобы ее напрограммировать (у более матерых кодеров могла и меньше требовать). Тут же чтение + иф.
        • 14 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится
          Когда мы с Петей тестово прорешивали полуфинал он, насколько я помню, 2 раза ошибся именно в реализации :)
  • 14 лет назад, # ^ |
      Проголосовать: нравится +25 Проголосовать: не нравится
    Я вообще не часто комментирую, а тем более такие глупости, но сейчас напишу. Мне, как и, я уверен, большинству, кажется, что сложная задача, которую можно решить обходясь маленьким количеством знаний, намного лучше, чем задача, которую можно решить только если знаешь малоизвестный замечательный факт. Конечно, знание фактов облегчает решение задач. Но, например, для пресловутых "кексов" это не верно. Не понимаю, как вообще задача должна разделять участников по цветам? И что такое задача "для программирования"? Распарсить какую-то штуку -- это для программирования? Вот здесь думать в математическом смысле надо меньше, зато нужно продумать получше разбор организовать. Если это задача для программирования, то не думаю, что много кому понравится решать только такие задачи. Почему ты думаешь, что "синие да зеленые" всегда должны оказываться ниже желтых, кажется именно так они и станут желтыми. И авторы, я думаю в этом совершенно не виноваты. Как и в том, что "Задачу D я, почему-то, так и не придумал".
    PS. И это просто некрасиво писать фразы типа "Всякие синие да зеленые повылазили выше желтых". 
  • 14 лет назад, # ^ |
      Проголосовать: нравится +19 Проголосовать: не нравится
    Ты так говоришь "синие да зелёные", как будто это что-то плохое.
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    В этом тебе некого винить кроме себя. Мне тоже многие контесты не нравятся, и я даже иногда ворчу что плохо написал-но не ругаю автора. Мне, наоборот, очень не нравятся контесты, где главное-уметь быстро и четко написать код длиной 200-300 строк, потому что я пишу медленно и сажаю много багов. Но в этом не могу винить никого, кроме себя. Да и вообще, как ты предлагаешь математикам, которые есть в каждой команде, тренироваться? Почему каждая задача должна быть задачей "для программирования"? Да и вообще, если бы каждая задача была "для программирования", участвовать в АСМ было бы бесполезно и скучно
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Мне кажется, задача С была легче чем B.
  • 14 лет назад, # ^ |
      Проголосовать: нравится +13 Проголосовать: не нравится
    Тут уж кому как - мне, например, C далась труднее, чем Е :)
  • 14 лет назад, # ^ |
      Проголосовать: нравится -29 Проголосовать: не нравится
    Для синих и зеленых такие задачи C просто подарок. Там не надо уметь особо программировать. Надо посидеть и спокойно поэмулировать на листочке и найти тактику оптимальную. Тут все цвета уравниваются по своим шансам. По идее такие задачи C - не есть хорошо. Однако такое встречается уже не в первый раз, видимо специально, чтобы цвета почаще менялись.
    • 14 лет назад, # ^ |
        Проголосовать: нравится +8 Проголосовать: не нравится
      А что тебе мешало так же сесть и проэмулировать?
      • 14 лет назад, # ^ |
          Проголосовать: нравится -9 Проголосовать: не нравится
        Проэмулировал неправильно.
        • 14 лет назад, # ^ |
            Проголосовать: нравится +4 Проголосовать: не нравится
          Все-таки поправка... на дорешке выяснил, что мое решение было правильным. Забыл перевести при чтении координаты в 0-индексацию.
      • 14 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        Ну тут такая задача... Я "эмулировал" полтора часа и не мог понять почему ВА на тесте 6. Но до сих пор не могу понять почему такое решение(которое берет АС) правильное.
        • 14 лет назад, # ^ |
            Проголосовать: нравится +8 Проголосовать: не нравится
          Доказать легко.

          1. Заметим, что произойдет если мы сделаем ход на границу.

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

          Таким образом сопернику нужно 4 хода чтобы нам помешать выиграть, потому нам надо проверить есть они у него или нет.
    • 14 лет назад, # ^ |
        Проголосовать: нравится +25 Проголосовать: не нравится
      Какие-то странные у тебя представления о том, что должны означать цвета. То постить зелёным нельзя. То зелёные — это те, кто умеет решать, но не умеет кодить.

      А мне вот кажется, что coding competitions — это скорее Development ветка на ТопКодере. А algorithm competitions — это всё-таки в том числе и придумывание решения, а не только его реализация. И хорошо, что на CodeForces не только первое, но и второе.
    • 14 лет назад, # ^ |
        Проголосовать: нравится +12 Проголосовать: не нравится
      Ну так не каждая же задача должна разделять шансы по цветам. Ты давай ещё поругайся на задачи с полуфиналов или из TopCoder, где надо спокойно подумать-порисовать и немного закодить.
      Кстати, почему это обязательно те, у кого выше рейтинг, должны лучше только кодить? Они должны лучше выступать по совокупности, то есть и думать в том числе лучше - чётче и быстрее.
14 лет назад, # |
  Проголосовать: нравится +6 Проголосовать: не нравится

Отличные задачи. Спасибо авторам.

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

PS Спасибо двум людям, которые взломали мое незаблокированное решение по задаче C ;)

14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
+56 and still blue :) again all due to rng_58 and thanx for participating today rng_58. Today again I will learn from codes. :D 
14 лет назад, # |
  Проголосовать: нравится +5 Проголосовать: не нравится
Thanks for a contest. Problem D is pretty good =).
14 лет назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится
Problem C is very interesting. I got the correct idea in almost one and half an hour, but mistakenly typed coord <= 4 instead of coord <= 5, then got challenged =)
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Same here! But luckily I didn't lock the problem, so I could resubmit and lose only ~400 points as opposed to ~1200 ;)
14 лет назад, # |
  Проголосовать: нравится +5 Проголосовать: не нравится
Объясните, пожалуйста, как ещё можно уменьшить состояния в задаче D. У меня такие состояния: i, mask, mod9, mod8, mod7, bit5, less (думаю, комментировать состояния не надо)
  • 14 лет назад, # ^ |
    Rev. 3   Проголосовать: нравится 0 Проголосовать: не нравится

    у меня состояния toSet, mask, mod9, mod8, mod7, mod5, less

    toSet -- сколько разрядов осталось еще поставить. mask принимает значения до 2^8 (0 мы не учитываем, а на 1 число всегда делится). Насчет последнего параметра (less). Как я понимаю он означает нужно ли нам ограничиться каким то значением разряда или нет (дабы не вылезти за обрабатываемое число). Результат ДП нужно запоминать только если он равен нулю, в случае единицы такое состояние будет вызываться только 1 раз и запоминать его не имеет практической ценности.

    • 14 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Эм... Вообще-то динамика такая же. Только у меня bit5 - 1 или 0: на конце 5\0 или нет. Сложность такая же. Надо поменять местами маску и i, тогда наверное побыстрее будет..
      • 14 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        Блин... Вот мне не хватило этой идеи про bit5. Спасибо, хорошая идея. Почему же мне такое в голову не пришло на контесте.
        • 14 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится
          Она у меня появилось, когда МЛ получил. Правда, мне это пока не помогает..
      • 14 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        Возможно ТЛ из-за того, что параметров для вызова функции много. На сколько я знаю это все дело кидается в стэк, и может повлиять на время. Я для модулей реализовал структурку с массивом где хранились модули.
        • 14 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится
          можно было сжать маску как в решении yaro... эх, черт.
          • 14 лет назад, # ^ |
            Rev. 3   Проголосовать: нравится 0 Проголосовать: не нравится

            еще вот

            LL dp[...][...][9][8][7][2][3];

            попробуй заменить на 

            LL dp[...][...][9*8*7*2*3];

            и при работе с запоминанием параметры умножать на соответствуеющее число.

            UPD

            Еще оказывается можно массивчик с запомненными параметрами не обнулять (если не использовать в запоминании параметр less так как описано выше ) :)

            • 14 лет назад, # ^ |
                Проголосовать: нравится 0 Проголосовать: не нравится
              Да, уже пробовал. Думаю дело именно в том, что маска не сжата. Работает очень долго на макстесте
              • 14 лет назад, # ^ |
                  Проголосовать: нравится 0 Проголосовать: не нравится
                Я сейчас уже ничего не обнуляю xD. Чуть больше памяти скушал, просто бит меняю каждый раз на противоположный (посчитали мы значение динамики или нет)
14 лет назад, # |
  Проголосовать: нравится +4 Проголосовать: не нравится

Привет всем!

Таки добрался я до этого сайта и не пожалел. Еще бы если контест почти на час не проспал =)

У меня два вопроса осталось... 

1. Как в А доказать что это УЕС только на степенях двойки?

2. Можно ли посмотреть чужие решения после окончания и как?

  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Посмотреть чужие решения можно, в таблице результатов кликаем на соответствующую задачу соответствующего участника.

    Первый вопрос поддерживаю! Интересно, что это за доказательство.
    • 14 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Во время контеста это работало, а сейчас показывает только историю, а вкладки "код" нету =(
      • 14 лет назад, # ^ |
          Проголосовать: нравится +13 Проголосовать: не нравится
        Там в истории напротив почти каждой строчки номер-ссылка. Нажимаем на нее и дивимся :)
      • 14 лет назад, # ^ |
          Проголосовать: нравится +1 Проголосовать: не нравится
        В истории рядом с вердиктом стоит ссылка с номером посылки. Это и есть ссылка на решение.
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Что касается задачи A:
    Можно доказать динамикой (как, собственно, и решить). Для каждого состояния два параметра номер текущей позиции и величина шага по модулю N. Ну и, соответственно, всего получается N * N состояний. Чтобы не париться, можно понять, что больше N * N шагов не потребуется. Я пошел дальше - просто запускал 10 миллионов шагов.
    • 14 лет назад, # ^ |
      Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится
      Легко доказать что через 2N шагов все зациклится
    • 14 лет назад, # ^ |
        Проголосовать: нравится +3 Проголосовать: не нравится

      Не, это я тоже так решил дабы времени не тратить. 

      Но по факту получилось что степени двойки, и написать через степени было бы чуть быстрее. По этому интересно как бы это просто доказать.

      • 14 лет назад, # ^ |
          Проголосовать: нравится +2 Проголосовать: не нравится
        Легко можно доказать необходимость
        Рассмотрим любой нечетный делитель p > 1 и посмотрим что будет творится по его модулю. Во-первых, через p шагов мы снова попадем в 0 по нему - следовательно, если мы в какой-то остаток не попадем за p шагов, мы туда не попадем никогда. Но через p - 1 шаг мы тоже будем в 0 - значит по принципу Дирихле какой-то остаток мы потеряем
      • 14 лет назад, # ^ |
          Проголосовать: нравится +2 Проголосовать: не нравится
        Достаточность - докажем по индукции
        База очевидна. Теперь докажем 2n -> 2n + 1
        Пусть N = 2n + 1. Рассмотрим первые 2n + 1 шагов. Мы начнем с точки 0 посетим все возможные остатки по модулю 2n (предположение индукции) и окажемся в точке 2n. Мы из каждой пары (a, a + 2n) за это время посетили хотя бы 1 элемент - пусть на i-м шаге. Тогда на i + 2n + 1 шагу мы посетим второе из этих чисел. Ч.т.д.
        • 14 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится

          Да, спасибо, похоже на правду.

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

          • 14 лет назад, # ^ |
              Проголосовать: нравится 0 Проголосовать: не нравится
            Наверняка боян с какой-нибудь мат. олимпиады
            Наверняка я его уже решал, но сто лет как забыл
14 лет назад, # |
Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

In problem C , almost everyone wrote same 2 line solution.

Alas, I did not give it a try.(the idea could have struck me too :( )


14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
C is really interesting.
Firstly I thought it should be coord <= 2.
But it shows WA.
After thinking more , I realized that it should be coord <= 4.

As for problem D:
The time limit is quite strict for my solution.
My solution got TLE, but when I change the language to MS C++ , I got Accepted.

14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
How long will take the analysis to be posted? (just by curiosity)

By the way, excelent contest, nice problems.
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Кстати, процент финального тестирования стоило разместить на более видном месте и сделать его автообновляющимся и, наверное, более точным.
14 лет назад, # |
Rev. 2   Проголосовать: нравится +5 Проголосовать: не нравится
C is really interesting.I play this game for many times to get the right idea.But I think E is somewhat similar to a problem in TopCoder..
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    You mean it has been already offered in some srm round? Hmm, would be great if you give a prooflink.
    • 14 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Actually E is somewhat similar to E in last Codeforces Round
    • 14 лет назад, # ^ |
        Проголосовать: нравится +5 Проголосовать: не нравится
      I have seen this problem many times~ USACO APIO srm codeforces & ACMICPC tianjin site...
      http://ace.delos.com/TESTDATA/OPEN10.tricount.htm
      • 14 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        Anyway we apologize for any similarity with another problems. We weren't sure that idea is original, but believed that statement certainly is.
    • 14 лет назад, # ^ |
      Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится
      Here it is : Div 1 1000. The idea is explained in the wiki.
      http://www.topcoder.com/wiki/display/tc/TCO'10+Online+Round+4
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    It's easier than the problem E in last Round, although I also can't pass it by mistake.
    I think this one is similar to the last problem of APIO2010.
14 лет назад, # |
Rev. 3   Проголосовать: нравится +5 Проголосовать: не нравится
You wrote Ananysis instead of Analysis
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
It seems the best solution to problem E is to calculate the triangles that don't contain the point and has the time complexity O(n). But I wrote a program that directly calculate the triangles that contain the point with time complexity O(nlogn) which also got Accepted.
14 лет назад, # |
Rev. 3   Проголосовать: нравится 0 Проголосовать: не нравится
Expecting English tutorial :)

UPD: I see.
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
can you put English Analysis, because every one didn't know Russian. please!
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Hi all,

may I know if there is a proof for problem C? I am not sure how you can derive the answer.

Thanks!