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

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

Завтра, 7 мая в 3:00 по Москве стартует 24-х часовой квалификационный раунд Google Code Jam.

Регистрация будет доступна до самого конца соревнования.

Для прохождения в следующий раунд нужно набрать 25 очков.

UPD. Раунд начался!

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

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

ignore
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
А где стартует?
13 лет назад, # |
  Проголосовать: нравится +8 Проголосовать: не нравится
А что это за странное ограничение гуглджема?

The Contest is void in Quebec, Italy, Saudi Arabia and where prohibited by law.

Кто в курсе, чем эти регионы не угодили гуглу???
  • 13 лет назад, # ^ |
      Проголосовать: нравится +11 Проголосовать: не нравится
    Человек читает правила, респект!

    Вот тут про Квебек обсуждали. :-)
    • 13 лет назад, # ^ |
        Проголосовать: нравится +5 Проголосовать: не нравится
      Ну меня больше Италия удивила.
      Квебек там все время непонятки. Саудовская Аравия - хз че там те арабы мутят.
      Но Италия, это ж Евросоюз :)
    • 13 лет назад, # ^ |
      Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

      продублировалось
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    AFAIK, в этих странах сильно мутные законы с выплатой денег людям - надо все заверять, подписывать+ большой налог.
13 лет назад, # |
  Проголосовать: нравится +6 Проголосовать: не нравится
Клёвыё задачи, особенно... не обсуждать, не обсуждать, не обсуждать!
  • 13 лет назад, # ^ |
      Проголосовать: нравится +12 Проголосовать: не нравится
    Мне особенно нравится последняя не обсуждать на тему не обсуждать, но вот как не обсуждать эту не обсуждать, я не знаю.
    • 13 лет назад, # ^ |
        Проголосовать: нравится -43 Проголосовать: не нравится
      я то 3 задачки сделал. Но так и не понял, как построить пример в задачке не обсуждать что б ответ не был целым. Придется подождать пока закончится квал, что б можно было обсудить задачу не обсуждать.
      • 13 лет назад, # ^ |
          Проголосовать: нравится +2 Проголосовать: не нравится
        не стоит так явно говорить о задаче не обсуждать, тем более, что номер задачи не обсуждать, которую вы имеете в виду, совершенно ясен после прочтения комментария
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Мне тоже понравилась не обсуждать  и не обсуждать.

    Теперь главное чтобы большие тесты не упали.

     

    • 13 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      А разница? Проходной балл - 25.
      Хотя поповелевать тоже, конечно, хочется :)
      • 13 лет назад, # ^ |
          Проголосовать: нравится +25 Проголосовать: не нравится

        Ну потому что для себя-то я на вопрос "зачем нужно СП" давно ответил "для понта" :о)

         

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

      Double post
    • 13 лет назад, # ^ |
        Проголосовать: нравится -10 Проголосовать: не нравится
      А чего там упасть то может? Вроде никаких камней подводных...
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Соглсен. Задача не обсуждать очень крутая.
  • 13 лет назад, # ^ |
      Проголосовать: нравится +13 Проголосовать: не нравится
    А я не обсуждать решил случайно. Не понимаю, как доказать, что в задаче не обсуждать именно такой ответ. Жду разбора.
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Надо было контест покороче делать :) Чтобы обсуждать можно было побыстрее.
    • 13 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      не ну кому-то же хочется поспать и сходить на пары, порешать и только потом пообсуждать )
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Извиняюсь, если это не относится напрямую к теме, но есть ли способ получить первую букву строки, переданной как параметр в bat-файл?
13 лет назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится
Задчака А спонсирована Valve :)
  • 13 лет назад, # ^ |
      Проголосовать: нравится +18 Проголосовать: не нравится
    Ну там еще и Magicka есть, и Mortal Kombat
    Algorithms are not Goro's strength; strength is Goro's strength.
    • 13 лет назад, # ^ |
        Проголосовать: нравится +4 Проголосовать: не нравится
      Да. Мне эта фраза очень понравилась :)
    • 13 лет назад, # ^ |
        Проголосовать: нравится +1 Проголосовать: не нравится
      ага, я даже рассмеялся))
    • 13 лет назад, # ^ |
        Проголосовать: нравится +1 Проголосовать: не нравится
      А про магику там написано, что она не спонсировала GCJ, так что не считается.
13 лет назад, # |
  Проголосовать: нравится -45 Проголосовать: не нравится
Куда без этого, но мне задачи не понравились. Какие-то они сухие что ли. Я первый раз принимал участие. Может я просто не привык к такому формату соревнований.
Больше всего запомнились идиотские вопросы в разделе "Ask a question", поржал от души :)
  • 13 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

    А один из этих вопросов мой...
    • 13 лет назад, # ^ |
        Проголосовать: нравится -7 Проголосовать: не нравится
      Пожалуйста, скажи что твой- про баллы :) Потому что про порядок сложения меня просто убил, только без обид... 
      • 13 лет назад, # ^ |
          Проголосовать: нравится +2 Проголосовать: не нравится
        Нет. Мой про задачу B. Просто в голове замкнуло, что удалятся должны элементы, которые находятся внутри двух opposed, а не весь список как по условию.
        • 13 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится
          Я думаю Павел имел ввиду вопросы по которым была рассылка, потому что он мог видеть только их.
        • 13 лет назад, # ^ |
            Проголосовать: нравится -7 Проголосовать: не нравится
          Эм... Ты наверное не в курсе, но твой вопрос не является Announcement. У меня отображаются только вопрос про баллы и два вопроса по задаче C, один из которых бьет все рекорды по тупости, но это не помешало не менее креативно на него ответить организаторам.
        • 13 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится
          меня тоже так замкнуло почему-то. одинаково мыслим, видимо.
          убил кучу времени
      • 13 лет назад, # ^ |
        Rev. 2   Проголосовать: нравится -17 Проголосовать: не нравится

        ignore
        • 13 лет назад, # ^ |
            Проголосовать: нравится -55 Проголосовать: не нравится
          Мне кажется, что проблема не в этом. Этот человек, скорее всего, вообще не знает что такое xor. Больше удивляет то, что в жюри ему ответили с указанием на явный порядок, но и этого им показалось мало - они сделали этот ответ анонсом.
          • 13 лет назад, # ^ |
              Проголосовать: нравится 0 Проголосовать: не нравится
            Ну то, что это анонс - да, может быть, странно
          • 13 лет назад, # ^ |
              Проголосовать: нравится +2 Проголосовать: не нравится
            Может они получили >10 подобных вопросов?
          • 13 лет назад, # ^ |
              Проголосовать: нравится +18 Проголосовать: не нравится
            Совершенно правильно сделали. Рассказывать про ассоциативность с коммутативностью в планы авторов явно не входило. Если бы ответили "без комментариев", то тем самым бы на эту ассоциативность с коммутативностью намекнули. Если бы не сделали рассылку, то поставили бы других участников в неравные условия со спрашивающим.
        • 13 лет назад, # ^ |
            Проголосовать: нравится +19 Проголосовать: не нравится
          а может не стоит обсуждать задачи?
          • 13 лет назад, # ^ |
              Проголосовать: нравится 0 Проголосовать: не нравится
            Извиняюсь
          • 13 лет назад, # ^ |
              Проголосовать: нравится -53 Проголосовать: не нравится
            Тому, кто не узнал в описании этой функции xor, на GCJ уже ничем не поможешь. Можно хоть все решение целиком написать - это ничего ему не даст.
            • 13 лет назад, # ^ |
                Проголосовать: нравится -11 Проголосовать: не нравится
              по C. можешь считать меня тупым, я сам диву даюсь как так произошло, но я сначала написал перебор для маленького сэмпла, сдал его, а после 4-ой задачи вернулся и наконец понял что является правильным решением и досдал Large.
            • 13 лет назад, # ^ |
              Rev. 2   Проголосовать: нравится +24 Проголосовать: не нравится

              Ему - ничего. А вот тебе такие разговоры могут дать дисквал. Хватит уже спойлерить.
              • 13 лет назад, # ^ |
                  Проголосовать: нравится -46 Проголосовать: не нравится
                Напугал ежа голой задницей. Меньше всего дисквала на GCJ боюсь. Да по-любому среди нескольких тонн участников уже есть с добрую сотню пар участников, которые поделились друг с другом решениями.
                • 13 лет назад, # ^ |
                    Проголосовать: нравится +18 Проголосовать: не нравится
                  Да, но далеко не все догадались спалиться с этим на Codeforces :)
                  • 13 лет назад, # ^ |
                      Проголосовать: нравится -41 Проголосовать: не нравится
                    Если ты хочешь меня в чем-то обвинить, то сделай это прямо.
                    Я ни с кем решениями не делился и мне уж точно не нужны ни чьи решения. Если ты задачи видел, то сможешь понять почему.
                    А где и с чем я "палюсь" фантазируй на здоровье. Можешь написать организаторами GCJ, что я публично назвал операцию "детского сложения" из задачи C xor'ом.
                    • 13 лет назад, # ^ |
                        Проголосовать: нравится -6 Проголосовать: не нравится
                      Да ты чё злой такой? Мне и в голову бы не пришло, что ты можешь с кем-то всерьёз обсуждать решения. А организаторы-то поди и сами всё здесь увидят. Не, на самом деле я не думаю, что то, что ты сказал, - это достаточный повод для наказания, но всё-таки в каждой шутке есть доля правды.
                      • 13 лет назад, # ^ |
                          Проголосовать: нравится +9 Проголосовать: не нравится
                        ====================
                        По-моему, вполне достаточный повод и для дисквалификации с контеста, и для бана здесь.
                • 13 лет назад, # ^ |
                    Проголосовать: нравится +2 Проголосовать: не нравится
                  То, что на свете есть дураки, не повод примкнуть к их числу.
            • 13 лет назад, # ^ |
                Проголосовать: нравится +6 Проголосовать: не нравится
              Обсуждая задачи до конца раунда, ты не только нарушаешь правила GCJ, но и ставишь в неприятное положение ресурс, на котором происходит обсуждение. На это тебе тоже плевать?
              • 13 лет назад, # ^ |
                  Проголосовать: нравится -10 Проголосовать: не нравится
                Последний раз повторяю, что никаких задач я не обсуждал. Это то же самое, что сказать "в задаче надо найти клику в графе" вместо "в задаче надо найти группу городов, в которой между каждой парой городов есть дорога". 
                Условия тоже нельзя обсуждать или что?!  И вообще, хочу напомнить, что первым xor упомянул товарищ RiaD-WaW для тех, кто разучился читать.
                Более никому ничего объяснять не собираюсь. Я правил не нарушал.
                • 13 лет назад, # ^ |
                    Проголосовать: нравится +6 Проголосовать: не нравится
                  • 13 лет назад, # ^ |
                      Проголосовать: нравится -7 Проголосовать: не нравится
                    Likewise you aren't permitted to write about the problems in a round until after the round is over.
                    Опять же зависит от того, как это понимать. Если about the problems подразумевает в том числе и обсуждение условий, то да нарушал. Но почему это не предъявляют RiaD-WaW'у? Он уже спалил xor, дальше уже нечего скрывать, любой и так прочитает это. Хотя... Я уже говорил, что не увидеть там xor это... эм... ну странно в общем... чтоб никого не обидеть.
                    • 13 лет назад, # ^ |
                        Проголосовать: нравится 0 Проголосовать: не нравится
                      ================================
                      Предъявляют вам, потому что:
                      1. RiaD-WaW сразу спрятал в правку и извинился, а вы продолжали трубить о существенной части решения и о том, как вам наплевать на правила, еще в нескольких комментариях, и все это до окончания раунда.
                      2. Вы, видимо, и старше, и опытнее, и сильнее как участник (по крайней мере судя по здешнему рейтингу), соответственно и спрос больше. Пример же подаете, чего потом удивляться, что новички обсуждают задачи текущих контестов.
                    • 13 лет назад, # ^ |
                        Проголосовать: нравится +2 Проголосовать: не нравится
                      тебе никто не говорил, что ты "эм..." немного заносчив?
                • 13 лет назад, # ^ |
                    Проголосовать: нравится +12 Проголосовать: не нравится
                  ===========================================

                  В соседней ветке ты не ответил на мой вопрос, сославшись на оффтопик. Поэтому задаю его ещё раз здесь.

                  Есть страница FAQ соревнования Google Code Jam. В ней написано, что твои комментарии выше противоречат правилам Google Code Jam. По крайней мере в двух местах:

                  1.
                  Q: What other resources can I use?
                  A: ... Likewise you aren't permitted to write about the problems in a round until after the round is over.

                  2.
                  Q: Can I communicate with other participants during a round?
                  A: Not about Code Jam, no. You are not allowed to collaborate with other participants—or with anyone else, for that matter—during a contest. This includes discussing, sharing, or posting the problem statements or solutions. Any contestant found cheating or attempting to cheat will be disqualified.

                  Далее, из следующего твоего комментария:
                  -----
                  Меньше всего дисквала на GCJ боюсь.
                  -----
                  неявно следует, что тебе наплевать на правила GCJ. Я участвую в этом соревновании, и мне не нравится такое мнение, высказанное в публичном пространстве достаточно сильным участником. Поэтому я начал тебе отвечать.

                  Позже, однако, ты пишешь, что никаких правил не нарушал.

                  Так вот, вопрос. Если теперь ты всё-таки считаешь, что эти правила ты не нарушил, поскольку они не относятся ни к одному из твоих комментариев — объясни, почему. Если считаешь, что нарушил (например, потому, что тебе наплевать) — признай это.
                  • 13 лет назад, # ^ |
                      Проголосовать: нравится 0 Проголосовать: не нравится
                    Эм... Да... Видимо, обсуждение условий тоже считается нарушением (если не так - поправьте меня). Возрадуйся, друг мой, нарушил! Но не один я такой. Да это же qual, там не играет роли место другого участника, главное самому 25 баллов набрать. Хуже я точно никому не сделал.
                    А дисквал... Ну если пожалуются на меня, то пусть администрация принимает решение. Не знание правил не освобождает от ответственности.
                    Судьба одной футболки станет более загадочной :)
                    • 13 лет назад, # ^ |
                        Проголосовать: нравится +10 Проголосовать: не нравится
                      Только меня откровенно забавляют 4 поста из серии "Я ничего не обсуждал! И не нарушал" и 5ый "Ну окей, обсуждал, нарушал, так не я один, да и вообще, это не важно"? :)
                      • 13 лет назад, # ^ |
                          Проголосовать: нравится 0 Проголосовать: не нравится
                        _______________________
                        Да что-то как-то не обратил внимание на то, что условия тоже нельзя обсуждать :) Бывает...
                        • 13 лет назад, # ^ |
                            Проголосовать: нравится +5 Проголосовать: не нравится
                          ============================================= На TopCoder Marathon, например, были случаи, когда один человек на форуме TC задавал вопрос по условию, второй ему отвечал слишком подробно, и второй получал дисквал.

                          Интерпретация условия, если оно однозначно — это тоже часть задачи.

                          Может показаться чересчур жестоко, но правила есть правила, в них явно указано: не обсуждать условие. Мне кажется, лучше так, чем не следить за их выполнением.
                      • 13 лет назад, # ^ |
                          Проголосовать: нравится 0 Проголосовать: не нравится
                        =========================
                        Правила, надо сказать, дурацкие. К примеру, из "posting the problem statements" следует, что нельзя было копировать фразу про Горо
                        • 13 лет назад, # ^ |
                            Проголосовать: нравится 0 Проголосовать: не нравится
                          ========================
                          А это такое страшное неудобство?
                          Можно и потерпеть копировать фразу про Горо до конца раунда.
                          • 13 лет назад, # ^ |
                              Проголосовать: нравится 0 Проголосовать: не нравится
                            ========================
                            Она настолько хороша, что просится, чтобы ее запостили куда нибудь.

                            А вообще непонятно, почему условия нельзя копировать, ведь они общедоступны, и любой человек их может прочитать на официальном сайте
                          • 13 лет назад, # ^ |
                              Проголосовать: нравится -11 Проголосовать: не нравится
                            _________________________
                            Ну тут пол темы перебанят, если так строго следовать правилам. Хорошо, я понял, что тут нельзя говорить даже очевидные вещи, ибо для многих (ну или некоторых)  они не очевидны. Откуда мне было знать, что в мире есть люди, которые в xor'e xor не видят?! :)
                            P.S. Я заметил, что в достаточно большом проценте тем, в которых комментарии сжимаются в колбасу фигурирует naagi. Только на месте собеседника, то я, то Ferlon, то еще кто-нибудь.
                        • 13 лет назад, # ^ |
                            Проголосовать: нравится 0 Проголосовать: не нравится
                          =============================================
                          Ещё про TopCoder Marathon. Я однажды хотел прорекламировать задачу оттуда в другом сообществе (AZsPCs). Однако тогда условие марафона нельзя было читать, не зарегистрировавшись на него. А в правилах было написано (что бы вы думали?), что до окончания раунда нельзя обсуждать, постить и всё-что-угодно-ещё условие. Ну, я зашёл в арену и спросил админа (mike), что мне можно запостить в качестве рекламы, а что нет. Он ответил в стиле “публично доступно только название задачи, ничего про остальное, к сожалению, постить нельзя”. Пришлось названием и ограничиться :) .
                          • 13 лет назад, # ^ |
                              Проголосовать: нравится 0 Проголосовать: не нравится
                            _______________________
                            К сожалению, я не такой "продуманный".
                            Да, следует внимательно читать правила. Но иногда, на середине правил происходит что-то вроде "Бла-бла-бла... Тут написано, что решения нельзя обсуждать... мотаю дальше... О! Футболка!"
                            А условия задач нельзя вставлять скорее всего из-за закона об интеллектуальной собственности (или аналогичного).
                            • 13 лет назад, # ^ |
                              Rev. 2   Проголосовать: нравится +11 Проголосовать: не нравится

                              ===================
                              Ага, а с окончанием раунда
                              право интеллектуальной собственности отменяется.
            • 13 лет назад, # ^ |
                Проголосовать: нравится -26 Проголосовать: не нравится
              Хватит желчью обливаться! тебе по-моему просто секса не хватает!!!)))
              • 13 лет назад, # ^ |
                  Проголосовать: нравится 0 Проголосовать: не нравится
                Не бойся, с ним недостатка не испытываю. Но тебе советую обратиться к специалисту, раз это первое что пришло тебе в голову.
              • 13 лет назад, # ^ |
                  Проголосовать: нравится +8 Проголосовать: не нравится
                Да пусть себе постит свои неадекватные комменты.
                Для меня это уже превратилось в спорт - нараздавай как можно больше минусов Хаустову Павлу.
                • 13 лет назад, # ^ |
                    Проголосовать: нравится +1 Проголосовать: не нравится
                  Ну тогда плохо работаешь. У него вклад 93... а у меня -35
                  • 13 лет назад, # ^ |
                      Проголосовать: нравится +8 Проголосовать: не нравится
                    Ваш вклад это не функция зависящая от вклада Павла. Если ваш вклад -35, значит участники этого сообщества в большинстве вопросов с вами не согласны. 
                • 13 лет назад, # ^ |
                    Проголосовать: нравится +10 Проголосовать: не нравится
                  Система +/-, в моем понимании, должна отражать ваше отношение к высказанному комментарию, а не к оставившему его человеку. С вашей стороны не очень умно ставить минусы, не читая (если это не так, поправьте меня). У Павла есть причины не любить зеленых/синих/фиолетовых, у него в вузе только такие и есть. В нашем вузе кроме него достойный программист всего одни, Вячеслав Алипов, а в команду ACM программистов нужно трое. У него уже развивается аллергия на тупые вопросы и на тупых людей, которые из года в год, самостоятельно никуда не продвигаются. Его слова о том, что результаты можно выбить из подопечных только дисциплиной и угрозой не поехать на полуфинал или быть выгнанным из команды основаны на личном опыте. Этот принцип ко мне применялся, и скажу честно, только в эти моменты происходит хоть какое-то развитие и движение с мертвой точки. Есть такие люди на которых если не наорешь, они ничего не сделают. А в нашем провинциальном городишке умные программисты зависят от "лучшего из худших" просто потому что других нет. Согласитесь обидно, когда в одиночку ты сделаешь каждого участника команды X, а вот командой не сделаешь, так как в твоей команде не трое, а двое. И что после этого  удивительного в том, что он не любит людей, задающих глупые вопросы, ответы на которые можно найти в гугле по первой выпавшей ссылке? Вам самому не противно видеть вопрос "Как быстро стать красном на КФ?", ответ на который закономерен? Вам приятно, когда в прямом эфире есть темы, на которые можно ответить просто прочитав "ЧАВО"? Я думаю, что очень часто возмущение Павла закономерно, хотя не прав он тоже бывает.
                  • 13 лет назад, # ^ |
                    Rev. 2   Проголосовать: нравится +13 Проголосовать: не нравится

                    =================
                    «Оказываю услуги по быстрой прокачке аккаунта Codeforces до красного цвета. Petr.»
                    =================
                  • 13 лет назад, # ^ |
                      Проголосовать: нравится 0 Проголосовать: не нравится
                    Скажите: зачем нужны учителя? если все можно загуглить! Бесспорно очень надоедает когда один и тот же человек спрашивает то, что можно легко и непринужденно загуглить. Так же вы повторяете: надоело слушать. А вы не думали ни разу, что иногда действеннее увидеть или послушать подробное наглядное объяснение, чем 1000 раз загуглить? Как уже говорилось много раз: индивидуальный подход.
                    • 13 лет назад, # ^ |
                        Проголосовать: нравится 0 Проголосовать: не нравится
                      Алина, как раз-таки наоборот. Если ты сама в чем-то разобралась - поискала, а потом поняла и доказала себе, то ты гораздо лучше запомнишь. Если же тебе сказали, ты это использовала, а потом вольна забыть.
                      Я расширенный алгоритм Эвклида все время забывал, а когда доказал себе и понял как формулы для него выводить вообще, сразу же запомнил.
                      • 13 лет назад, # ^ |
                          Проголосовать: нравится 0 Проголосовать: не нравится
                        Я сужу по себе. Есть вещи, например алгоритмы, которые я могу крутить и так и сяк, но хоть убейте не могу запомнить или понять. А если мне наглядно, показать на конкретном примере, то все сразу встанет на свои места. Я больше даже выступаю не за словесную помощь, а за наглядную.
                        • 13 лет назад, # ^ |
                            Проголосовать: нравится 0 Проголосовать: не нравится
                          _____________________
                          Вот опять же. Ты сама говоришь, что ты крутишь его, не можешь понять, пытаешься, чего-то не хватает. Обратилась за помощью и тебе помогают с каким-то непонятным моментом. Весь алгоритм при этом рассказывать тебе не требуется. А если бы ты сказала "расскажи мне алгоритм X", то весь алгоритм ты бы вряд ли хорошо освоила на долгое время. Ну или тебе бы пришлось отрешать тематический контест на него в ближайшее время. У нас в ВУЗе даже если в термин "ближайшее" включить две недели, никто ничего решать не будет.
                          • 13 лет назад, # ^ |
                              Проголосовать: нравится 0 Проголосовать: не нравится

                            ____________________

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

                  • 13 лет назад, # ^ |
                      Проголосовать: нравится +3 Проголосовать: не нравится
                    Ваша позиция понятна. Не хорошо обсуждать Павла за его спиной, но раз Вы начали я продолжу этот диспут.
                    С Павлом я, к сожалению, лично не знаком, но из написанного Вами выше могу предположить, что импульсивность одна из черт его характера. Но в обществе, по-моему, мнению не принято притеснять более слабых. Если для Вашей команды по АСМ это приемлемо... то как говорится в чужой монастырь со своим уставом... Я считаю, что оскорбление чести и достоинства людей не приемлемо.

                    Что касаемо меня. Я здесь просто ради развлечения. Олимпиадным программированием я не занимаюсь, членом каких-либо сборных не являюсь. Если есть свободный вечер, то почему бы не провести его за контестом на CF. И Ваши высказывания и высказывания Павла по поводу моего рейтинга меня ничуть не задевают. Да низкий рейтинг, но следует сразу приступать к уничижению. Вроде умные толковые люди, а ведете себя , простите, как высокомерное быдло. Извините если обидел Ваши чувства, но не я это начал
                    • 13 лет назад, # ^ |
                        Проголосовать: нравится +3 Проголосовать: не нравится
                      Ты действительно думаешь, что кто-то из нас хотя бы обращает внимание на твой рейтинг? Я тебе уже говорил, что мне он неважен. И я лично поздравлю (напомни мне, если я по какой-либо причине не замечу) тебя с получением цвета выше, чем зеленый (обычно это - точка, после которой дела как-то начинают идти в сторону позитива). Я писал, почему я тебя тогда подколол, это никак не связано с твоим рейтингом.
                  • 13 лет назад, # ^ |
                      Проголосовать: нравится +9 Проголосовать: не нравится
                    Возмущение, разумеется, всегда праведное, как же иначе. Но вот зачем выпендриваться всё время? 

                    "Всякие синие да зеленые повылазили", "Откуда мне было знать, что в мире есть люди, которые в xor'e xor не видят" и так далее.

                    Ситуация в вузе, описанная выше, не уникальна. Но первым парням на деревне высокомерие не к лицу.
                    • 13 лет назад, # ^ |
                        Проголосовать: нравится +4 Проголосовать: не нравится
                      Согласна с вами, просто меня возмутили слова "Для меня это уже превратилось в спорт...", я просто хотела сказать, что над словами (даже резкими) стоит задуматься, а не бездумно минусовать. 
                • 13 лет назад, # ^ |
                    Проголосовать: нравится 0 Проголосовать: не нравится
                  Я тебя сильно расстрою, когда скажу, что мне плевать какой у меня вклад. Вот на рейтинг свой мне не плевать. Ты сможешь навредить мне, понизив мой рейтинг. Для этого тебе необходимо обыграть меня в следующем раунде. Это тебе не на стрелочку рядом с комментарием нажать...
                  • 13 лет назад, # ^ |
                    Rev. 2   Проголосовать: нравится +3 Проголосовать: не нравится

                    Я прекрасно понимаю то, чтобы мне обыграть тебя нужно, чтобы после первой сданной задачи отвалился интернет... Я не отрицаю то, что ты на несколько голов выше меня в программировании.. Я к тому, что просто всегда нужно оставаться человеком
                    • 13 лет назад, # ^ |
                        Проголосовать: нравится +8 Проголосовать: не нравится
                      Не кормите троллей.
                    • 13 лет назад, # ^ |
                        Проголосовать: нравится 0 Проголосовать: не нравится
                      Только сейчас возникло предположение, что мое сообщение про вклад и рейтинг было воспринято Алексеем Бычковым как обращение к нему. Нет, оно было адресовано к caustique.
              • 13 лет назад, # ^ |
                  Проголосовать: нравится +3 Проголосовать: не нравится
                Codeforces - скандалы, интриги, расследования.)))
                Ребята - давайте заканчивать этот балаган!!!
  • 13 лет назад, # ^ |
      Проголосовать: нравится +15 Проголосовать: не нравится
    Чтобы прошлый коммент не отпугивал потенциальных участников, ну и просто, чтобы было альтернативное мнение, скажу, что на мой взгляд задачи отличные. Из 4-х квалификационных раундов GCJ, которые я писал, этот мне кажется самым лучшим по подбору задач.

    По поводу "идиотских" вопросов тоже не согласен. Думаю, они очень правильно сделали, как ответив на тот вопрос по С, так и сделав ответ доступным для всех. Аргументирую после окончания раунда.
  • 13 лет назад, # ^ |
      Проголосовать: нравится +3 Проголосовать: не нравится
    А как по мне - задачи, не смотря на их простоту, классные.
13 лет назад, # |
  Проголосовать: нравится -35 Проголосовать: не нравится

Кривая у них разбалловка...

Задача C явно проще A и B, при этом A стоит меньше, а B по сравнению с C просто ужасна (лично у меня она сдалась только с 3 раза, при этом на 1 попытке я ошибку нашёл и исправил, а на второй весь выходной файл ручками проверил и не нашёл ни одной ошибки, с третьего раза то же самое решение прошло...)

Кстати, кто-нибудь может сказать, если SMALL-тест прошёл, то каковы шансы, что пройдёт и LARGE? Ошибок, появляющихся именно на больших размерах точно нет.

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

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

    А по LARGE-инпутам. Если нет ошибок по размерам массивов, по типам данных, то вероятность высокая по крайней мере по данным задачам.
    • 13 лет назад, # ^ |
      Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

      Маленькие тесты генерируются спустя рукава. Просто у одного знакомого чувака в прошлом году упал большой, а когда он нашёл ошибку, оказалось, что по идее-то падать должно было уже на маленьком. Впрочем, не исключено, что сейчас это исправили. Проверять почему-то не хочется, да я и не знаю как.
      • 13 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        Насколько я помню, в маленький тест иногда специально не включаются интересные случаи, например, минимальные тесты.
        • 13 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится
          А разве это правильно? Ведь Small на GCJ - это тебе не претест на CF, за него таки очки даются.
          • 13 лет назад, # ^ |
              Проголосовать: нравится 0 Проголосовать: не нравится
            Это вполне понятная стратегия авторов. Например, здесь упомянуто, что так бывает и что это делается намеренно. К тому же за small обычно давалось сильно меньше баллов, чем за large.
            • 13 лет назад, # ^ |
                Проголосовать: нравится 0 Проголосовать: не нравится
              О как, спасибо за линк.
              Но всё равно, ИМХО, хорошим тоном было бы этот момент упомянуть в правилах, а не на форуме TopCoder. По понятным причинам.
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Ни капли не согласен. А - самая легкая, В - тоже простая, обе я писал с ходу, а вот на С я минут 10 думал.
    • 13 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Для меня задачи располагаются как по сложности, так и по времени, затраченному на них, как C, B, A, D.
      Впрочем, это не сильно важно, т.к. 25 очков трудно не набрать
      • 13 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        А вот во втором раунде это уже будет сииииииильно важно...
  • 13 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

    Что там в B писать-то? У меня - 25 строчек кода. Сдалось сразу же.
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Открой статы по прошлым раундам и посмотри: 7957/9406 correct, 2469/3001 correct, 3050/7644 correct. Итого 67% проходов, считая странных личностей, которые не ошиблись с входным файлом в small, но ошиблись в large. Нельзя же настолько не уметь искать информацию...
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Стоит все же воздержаться от обсуждения задач^
13 лет назад, # |
  Проголосовать: нравится +10 Проголосовать: не нравится
Я не понял, то что все выше пишут фразы типа 
что-то...не обсуждать...что-то 
это неведомая сила изменяет или все просто приколисты?=)
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Немного оффтопа

http://code.google.com/codejam/contest/scoreboard?c=433101#sp=1461 - результаты прошлогоднего квала.

Ктото может обьяснить, как некто Marek решил B-Large и не решил B-Small? Я что-то упускаю?

  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Могу предположить, что ту посылку сняли, так как код не генерировал ответ. А с Large было все хорошо.
    • 13 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Да, логично вроде бы.
    • 13 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Ещё вроде бы раньше не требовалось сдать Small, чтобы сдать Large. Так что Марек мог ещё что-то перепутать или зачем-то пошутить.
13 лет назад, # |
  Проголосовать: нравится +23 Проголосовать: не нравится
Приятель отжёг:)
"Это нормально, что в задаче мальчики американцы считают двоичным кодом?)"

13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
А ввод/вывод через файл осуществляется?
  • 13 лет назад, # ^ |
      Проголосовать: нравится +2 Проголосовать: не нравится
    O_o Как хочешь. Если тебе доставляет, можешь input-файл руками перебить на вход своей программе за 4 минуты. Там вообще-то надо output-файл отправить, а код только для подтверждения.
    • 13 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Hint:
      В консоль тоже можно копировать=)
      • 13 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        Обычно всегда так делал, но сегодня почему-то не копировались символы перевода строки из notepad++ в консоль, что доставило. Из файла надежнее.
        • 13 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится
          Я не спорю, конечно надежнее=) 
          И не надо каждый раз при запуске тест перебивать=)
        • 13 лет назад, # ^ |
            Проголосовать: нравится +18 Проголосовать: не нравится
          Перенаправление потока еще никто не отменял
    • 13 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      но они же потом запускают код, породивший output?
      т.е. они используют некую утилиту, чтобы в коде сделать так, чтоб читалось и выводилось туда, куда они хотят?
      • 13 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        Кажется, не запускают.

        Код им нужен только на всякий случай, полагаю.
      • 13 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится

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

        freopen("sjdhfsjlidhfkjlsdhufgqwgfyuogwegdskgfawjehgfuywgeg.in", "r", stdin);

      • 13 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        После gcj появляется статистика количества решений отосланных на тех или иных языках, которых порядка 20-30. Вряд ли они запускают что-либо, скорее как исключение или тупая сверка что двое не отправили одно и тоже. Лично я в прошлом году отправлял пару задач написанных в мэпле....
        • 13 лет назад, # ^ |
            Проголосовать: нравится +18 Проголосовать: не нравится
          Один мой знакомый в прошлом году писал решения в Mathematica. Потом с ним связывались и он по мылу доказывал, что их возможно законно запустить, не покупая лицензионную версию.
      • 13 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        Опять же, перенаправление input/output для организаторов gcj еще никто не отменял.
    • 13 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Hint2: программа использует стандартный ввод-вывод, который перенаправляется при запуске программы. Очень удобно при тестировании - программа может читать данные из любого файла.

      Вообще, стандартный ввод-вывод куда более удобен, нежели файловый.
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Кстати, кто-нибуть можеть пояснить ценность их новой питоновской тулзы, которая поволяет делать все действия через ЦМД?
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Ну это для тру, так сказать)
    Кто-то ж не любит диалоги сохранения файлов и клики мышкой.
  • 13 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

    Один раз я накосячил в large и он долго генерился. Я смотрел на процентик в генераторе и на таймер обратного отсчета. Генератор закончил работу за секунду до конца отсчета и я нажал "отправить" не глядя. Попытку засчитали и она прошла. С этими скриптами некоторые из погибших тогда нервных клеток могли уцелеть :).
    • 13 лет назад, # ^ |
      Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

      Ха, а у меня такое в прошлом году было и на C++. Шесть с половиной минут из восьми... в общем, в тот раз мне ещё пришла мысль, что участники находятся в существенно неравных условиях ещё и из-за того, что у них тупо разное железо. Впрочем, это, я так понимаю, вполне учитывается политикой GCJ: раз ты настолько плохой программист, что у тебя нет доступа к суперкомпьютеру, - это твои проблемы. Ну, либо придумывай нормальный алгоритм :)
      • 13 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        У меня на питоне. А у любой задачи есть решение, работающее две секунды, как мне кажется.
13 лет назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится
Я просто в шоке от решения задачи D.
  • 13 лет назад, # ^ |
      Проголосовать: нравится +3 Проголосовать: не нравится
    Я в шоке от С - над решением думал почти час :)
    • 13 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      С в принципе легкая была, если до XOR'а додуматься.

      Я вообще сначала хотел перебор писать, потом жуткую динамику, потом меня осенило.
      • 13 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        То же самое =) Написал на small полный перебор за O(N*2^N), потом минуты 2 подумал и за пару минут написал O(NlogN), который оказался в 2 раза короче.
        • 13 лет назад, # ^ |
            Проголосовать: нравится +5 Проголосовать: не нравится
          А зачем там ещё logN, если xor, min и sum ищутся за линию? :-)
          • 13 лет назад, # ^ |
              Проголосовать: нравится +3 Проголосовать: не нравится
            Известно, что большинство спортивных программистов, которые пишут на C++ ищут минимум в массиве за O(n*log(n)).

            Просто так писать быстрее, а стандартной функции min для массива нет.
            • 13 лет назад, # ^ |
                Проголосовать: нравится +1 Проголосовать: не нравится
              *min_element ?
              • 13 лет назад, # ^ |
                  Проголосовать: нравится 0 Проголосовать: не нравится
                Не знал про такое....
                Но вот я смотрю чужие коды на C++ - и половина из "крутых" спортивных программистов юзает sort.
                • 13 лет назад, # ^ |
                    Проголосовать: нравится 0 Проголосовать: не нравится
                  А вы как? reduce и lambda функции?
                  • 13 лет назад, # ^ |
                      Проголосовать: нравится 0 Проголосовать: не нравится
                    Зачем? Просто min(A).
                  • 13 лет назад, # ^ |
                      Проголосовать: нравится 0 Проголосовать: не нравится
                    Наверное в самом неуютном положении сишарперы. На топкодере юзать нормальные фреймворки не дают, на кодфорсах не дают, соответственно даже если внезапно на рашнкодкапе вдруг обнаружилась поддержка четвёртой версии, то руки всё равно привычно набирают в режиме совместимости со вторым фреймворком, поэтому половина вкусных фич за бортом остаётся. В частности вот хотя бы min-а у нас нет, увы.
                    • 13 лет назад, # ^ |
                        Проголосовать: нравится 0 Проголосовать: не нравится
                      Ну, вот это "в частности" - невелика беда. На C++ STL::min тормозит жестоко, временами TL на этом ловил.
                      • 13 лет назад, # ^ |
                          Проголосовать: нравится 0 Проголосовать: не нравится
                        слишкомузкослишкомузкослишкомузкослишкомузко
                        Он не просто тормозит. В некоторых версиях он - макрос, а поэтому считает один из параметров 2 раза.
                        • 13 лет назад, # ^ |
                          Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

                          =================================
                          Всегда писал так:
                          int m = 1<<30;
                          for (int i = 0; i < n; i++)
                              m=min(m,a[i]);

                          Тут 10 секунд набирать
                          • 13 лет назад, # ^ |
                              Проголосовать: нравится +5 Проголосовать: не нравится
                            Зря вы так писали, такой код не должен компилироваться, т.к. min уже является переменной, а не функцией.
                            • 13 лет назад, # ^ |
                              Rev. 2   Проголосовать: нравится +5 Проголосовать: не нравится

                              ==================
                              Действительно, в C++ же так нельзя
                              Я просто на java пишу
                              • 13 лет назад, # ^ |
                                  Проголосовать: нравится 0 Проголосовать: не нравится
                                а на java можно определить функцию и переменную с одинаковым названием?
                                • 13 лет назад, # ^ |
                                  Rev. 2   Проголосовать: нравится +20 Проголосовать: не нравится

                                  ===================================
                                  package Reuse;

                                  class Reuse {
                                      Reuse Reuse(Reuse Reuse) {
                                          Reuse:
                                          for(;;) {
                                              if (Reuse.Reuse(Reuse) == Reuse)
                                                  break Reuse;
                                          }
                                          return Reuse;
                                      }
                                  }
            • 13 лет назад, # ^ |
                Проголосовать: нравится 0 Проголосовать: не нравится
              В качестве рекламы плагина - код вывода ответа для не NO у меня выглядел так:
              out.println(ArrayUtils.sumArray(candies) - CollectionUtils.minElement(ArrayWrapper.wrap(candies)));

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

                ===========================================

                а у меня так:
                Console.WriteLine("Case #{0}: {1}", t, v.Sum() - v.Min());
            • 13 лет назад, # ^ |
              Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

              Ну кстати по поводу sort и минимума.

              Сумму и xor массива тоже нужно было считать.

              Посчитать ещё и минимум - 1 строчка.

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

            Чтоб быстрее закодить. Сортил по убыванию  невозрастанию и потом можно было за 1 проход найти сумму всех, кроме минимального. Да, с постом про поиск минимума за O(NlohN) согласен абсолютно,  зачастую так банально проще =)
            • 13 лет назад, # ^ |
                Проголосовать: нравится 0 Проголосовать: не нравится
              > Ну кстати по поводу sort и минимума.

              > Сумму и xor массива тоже нужно было считать.

              > Посчитать ещё и минимум - 1 строчка.

              > Посортировать и взять минимум - две.
            • 13 лет назад, # ^ |
                Проголосовать: нравится +13 Проголосовать: не нравится
              Улыбнуло :) Во фразе "поиск минимума за O(NlohN)" ключевое слово loh?
              • 13 лет назад, # ^ |
                  Проголосовать: нравится 0 Проголосовать: не нравится
                Нет. Это случайно, но править не буду, так прикольнее =)
        • 13 лет назад, # ^ |
            Проголосовать: нравится +8 Проголосовать: не нравится
          Лучше день потренироваться, а потом за 5 минут долететь (С)
      • 13 лет назад, # ^ |
          Проголосовать: нравится +5 Проголосовать: не нравится
        Додумываться до xor'а было необязательно - достаточно было просто заглянуть в это обсуждение до конца контеста ;)
  • 13 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится +1 Проголосовать: не нравится

    У меня - девять строчек задача D. Но до этого - полтора часа обдувывания, выписывания формул и написания переборного решения для маленького случая.  И когда я наконец понял, что там нужно написать, то очень долго смеялся.

    Вообще, D понравилась больше всего - хорошо напрячь мозги пришлось.
  • 13 лет назад, # ^ |
      Проголосовать: нравится +8 Проголосовать: не нравится
    А я уже лёг было спать, и стал в уме считать ответ для цикла длины 3. Помогло :) .
    • 13 лет назад, # ^ |
        Проголосовать: нравится +5 Проголосовать: не нравится
      Офигеть) Поступил точно так же. Правда в два часа ночи соображалось плохо, вышло 3.5, и я злобно похихикивая "Ага, наверняка там ряд 1+1/х. Наверное, он себя еще и по-разному ведет до и после 10, после 10 надо сортировать по кусочкам. Никто кроме меня не догадается и все упадуууут!" уснул:)
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

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

подскажите пожалуйста, как при нечетных ответах сортить нужно(например на 3: 2 3 1)

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

    Ответ - количество элементов, не стоящих на своих местах, умноженный на 2 просто количество элементов.
    • 13 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      спасибо конечно, но я это уже давно знаю, и в своем комментарии просил показать как нужно сортировать когда нечетный ответ.
      • 13 лет назад, # ^ |
          Проголосовать: нравится -7 Проголосовать: не нравится
        Точно так же как и когда четный. (2 3 1) => (1 2 3).
        • 13 лет назад, # ^ |
            Проголосовать: нравится +6 Проголосовать: не нравится

          опять же спасибо, что вы мне показали, что (1 2 3) - отсортированная последовательность и ее нам надо получить из входных данных. на самом деле эту последовательность нужно получить для всех входных данных при n = 3(правда ведь?!)

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

          • 13 лет назад, # ^ |
              Проголосовать: нравится +5 Проголосовать: не нравится
            Надо фиксировать, только то, что лежит на своих местах. Утверждается, что тогда матожидание будет равно числу элементов. В частности (не уверен, что это равносильные утверждения) легко показать(перебором). что матожидание количества элементов вставших на свои места - 1.
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
" If yes, then Sean should maximize his pile, and this is achieved by taking all pieces of candy except the one with the smallest value."

Кто-нибудь дайте пруф пожалуйста, почему это так.
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Ответ существует если xor всех элементов равен нулю. Но в этом случае для любого распределения по кучам их xor будет совпадать. Поэтому просто распределим на две кучи с максимальными разностями.
  • 13 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

    0 ксор N = N

    N ксор N = 0,

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

    • 13 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      я в шоке как просто, основные три идеи:
      - xor (до этого допер)
      - xor всех элм. равен 0, тогда есть ответ
      - значит если разобьем ну две кучи, то их xor ,будет равен 0, исходя из второго пункта.

      Я делал перебор (сдал small), потом динамику пытался делать и понял что не получиться т.к. нету опт. подструктуры. 
13 лет назад, # |
  Проголосовать: нравится +8 Проголосовать: не нравится
Вот интересно, я один такой задрот, кто, не сумев доказать правильное решение по D целиком, просчитал, хоть и не совсем втупую, на бумажке все ответы для N ≤ 4? Причём сделать это удалось только глубокой ночью, вернувшись с арт-феста, ибо днём я всё время ошибался в арифметике.
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Я написал динамику по мат. ожиданиям, которая использовала переходы, которые были предпосчитаны brute force'ом с next_permutation. Сама динама была за квадрат.
    Я сразу предположил такое решение (сэмплы такие паливные), но решил, что времени предостаточно и лучше бы убедиться (вдруг сэмплы - это провокация).
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Я кодил все эксперименты для N≤ 5 :)
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Я написал динамику вычисления матожидания для всех N, перебирая все перестановки. Посчитал для маленьких N. Удивился. Не поверил и для N=3 и N=4 проверил на бумаге. После этого поверил.
  • 13 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

    Я, предположив, что одно решение верно, на бумажке до 4 посчитал. Неожиданно заметил закономерность и решил на компе проверить до 10. Закономерность подтвердилась. Потом я заслал small. Закономерность подтвердил даже google. Сразу же заслал и large. С утра вот узнал, что ответ lagre ему тоже понравился.
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Посчитал до 1к, если действовать по такой стратегии.
  • 13 лет назад, # ^ |
      Проголосовать: нравится +5 Проголосовать: не нравится
    Я написал динамику за квадрат, запустил на 1000 и после этого подумал, что пожалуй не стоит моей программе так долго работать :)
  • 13 лет назад, # ^ |
    Rev. 13   Проголосовать: нравится 0 Проголосовать: не нравится

    Формула там такая:

     + 1

    --- количество перестановок из n элементов, где ровно k стоят на своих местах.




    --- не бывает
    --- сэмпл
    --- легко считается:  + 1
    --- сэмпл
    Посчитал для n = 5 и заслал

    ------
    А можно сделать так, чтобы формулы можно было редактировать?
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Я посмотрел на количество и время сдавших, на ответы в семпл тесте, накодил решение которое выводит кол-во элементов не на своих местах, оно прошло смолл, сразу отправил и на биг.
13 лет назад, # |
Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

Может быть кто-нибудь все же знает какое-нибудь простое, но более-менее строгое доказательство правильности в D?
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Более-менее строгое написано в разборе. С простым не так просто:)
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Мне друг рассказал: докажем по индукции, что такой алгоритм есть. Во-первых ясно, что трогать элементы на местах не нужно; рассмотрим только случай, когда таких нет. Примем, что En есть искомое ожидание для n чисел. Ясно, что E2 = 2. Далее доказывается, что Ei + 1 = 1 + Ei: если мы подбросим все элементы, то с ожиданием 1 подбрасывание какой-то элемент встанет на своё место (у каждого из n элементов вероятность встать на своё место) и задача редуцируется.

    Ну а то, что наименьшее, тоже какими-нибудь хаками доказывается...
    • 13 лет назад, # ^ |
      Rev. 3   Проголосовать: нравится -45 Проголосовать: не нравится

      Ну оно неправильное, конечно, нельзя безнаказанно складывать матожидания зависимых величин.
      UPD. да, действительно можно. Я перепутал матожидание и то, что требовалось автору для доказательства. Естественно, если нам требуется F(s), где s - случайная величина, то нельзя сказать, что E(F(s))=F(E(s)), где E() - матожидание. А значит, нельзя сказать, что E(n)=1+E(n-1), т.к. мы не имеем права подставлять n-1 вместо функции.
      • 13 лет назад, # ^ |
        Rev. 2   Проголосовать: нравится +5 Проголосовать: не нравится

        Перемножать нельзя, а складывать можно. ВНЕЗАПНО, да? =)
      • 13 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        Что-то не понял это замечание. Матожидание случайной величины линейно в том числе и для зависимых величин.
      • 13 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        Складывать можно, и матожидание количества упавших на свои места равно 1, это правда. По-моему, доказательство неправильное по другой причине: исходя из того, что в среднем упадёт 1 элемент, мы не может написать, что F(n)=1+F(n-1). К примеру, если бы оно было равно 0.5, мы же не написали бы, что F(n)=1+F(n-0.5), потому что это не определено. 
        ПС, Буду благодарен, если кто-то покажет мне, что(или где) я неправ.
        • 13 лет назад, # ^ |
          Rev. 3   Проголосовать: нравится 0 Проголосовать: не нравится

          Более строго говоря, из того, что
          и

          не следует, что
          F(n) = 1 + F(n - 1).
          F(n) - матожидание времени упорядочивания цикла.
          P(n, i) - вероятность того, что в цикле длины n чисел i упадут на свое место.
        • 13 лет назад, # ^ |
          Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

          Да ну, по-моему, vihrov всё правильно говорит. Вот разве не то же самое доказательство (по этому пункту) в разборе?
          А если бы там где-то выплывало 0,5, то это было бы связано с тем, что индукция не прокатывает, во всяком случае, такая простая.
      • 13 лет назад, # ^ |
        Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

        Так можно доказывать по индукции
        Получаем где pk - распределение случайной величины с матожиданием 1. Кроме того по предположению индукции Fn - k = n - k для k > 0. Таким образом получаем линейное уравнение на Fn у которого в качестве решения подходит n и оно не вырождено