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

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

Здравствуйте Дамы и Господа! В 11-00 19 июня (т.е. в воскресенье;) состоится отборочный раунд на финальный раунд соревнования "Russian Code Cup 2011". (Извините за тавтологию;) В финал выйдет всего 50 человек, т.е. конкурс будет достаточно серьёзный. (50 из 600;)

Good luck and have fun!

P.S.: Сайт - russiancodecup.ru. Там же Вы можете найти правила.

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

13 лет назад, # |
  Проголосовать: нравится -25 Проголосовать: не нравится
Кому-нибудь футболки дошли?
  • 13 лет назад, # ^ |
      Проголосовать: нравится +2 Проголосовать: не нравится
    Их завтра еще только отсылают
    • 13 лет назад, # ^ |
      Rev. 2   Проголосовать: нравится +2 Проголосовать: не нравится

      Говорили что 13го уже отошлют, хотя я наверное что-то путаю.
      • 13 лет назад, # ^ |
          Проголосовать: нравится +1 Проголосовать: не нравится
        Это старая инфа.
        Вчера было написано "заказ будет отправлен автоматически 18 июня"
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Я-то подумал - на фиг мне такая футболка? А тут барышня моя говорит - так ты напиши вместо XL размера M или S - я сама носить буду... Пришлось поучаствовать и требуемый размер написать... ;-)

    Хотя теперь с ужасом думаю о том что придётся на почту тащиться, если футболка для жены всё же дойдёт... %)
    • 13 лет назад, # ^ |
      Rev. 2   Проголосовать: нравится +1 Проголосовать: не нравится

      та же история, только отцу футболку заказал)

      P.S не знаю будет ли он ее носить, когда увидит)
    • 13 лет назад, # ^ |
        Проголосовать: нравится +24 Проголосовать: не нравится
      А у меня это первая выигранная футболка, барышне ни в коем случае не отдам :)
    • 13 лет назад, # ^ |
        Проголосовать: нравится +52 Проголосовать: не нравится
      А у меня невеста сама себе выиграла =P
      • 13 лет назад, # ^ |
          Проголосовать: нравится +10 Проголосовать: не нравится
        У меня тоже :) Но справедливости ради отмечу, что если бы она не выиграла, то мою бы ни отбирать ни просить не стала... Надеюсь...
        Футболка - она ведь как трофей. Прямо индикация успехов. Вообще, люблю рассуждать о футболках. Поэтому в этом комментарии я расскажу о том, какие бывают виды футболок и каких из них я добился (в скобочках сколько раз заполучил / сколько раз можно было заполучить):

        1) Футболки даром:
        Футболка ACM ICPC NEERC (4 / 4), Футболка Russian Code Cup (1 / 1)

        2) Футболки, за которые надо побороться:
        Футболка Codechef (1 / 6), Футболка Google Code Jam (1 / 1)

        3) Футболки, которые не стыдно одеть на награждение:
        Футболка TopCoder Open (0 / 2)

        4) Футболка мечты:
        Футболка ACM ICPC World Finals с названием своего ВУЗа (0 / 4).

        5) Эксклюзивные футболки:
        Футболка Google "Мне повезет" (досталась участникам онсайта всесиба 2007 года), Футболка СКБ-Контур (не смотря на то, что я выиграл два кубка этой компании, досталась эта футболка мне на викторине после самих соревнований).

        Справедливости ради замечу, что в скором времени состоится TopCoder Open 2011 Round 2, где решится вопрос о том, стану ли я счастливым обладателем футболки TopCoder Open 2011.
        • 13 лет назад, # ^ |
            Проголосовать: нравится +1 Проголосовать: не нравится
          А когда-то футболку на топкодере давали за первый раунд...
        • 13 лет назад, # ^ |
          Rev. 3   Проголосовать: нравится -15 Проголосовать: не нравится

          Эксклюзивная от google не такая уж и эксклюзивная. МФТИшникам в 2008 году раздавали на халяву. Футболка хорошая, надо сказать, стирать легко.

          А вот футболка нирка, знаешь, смотря с какого четвертьфинала!
        • 13 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится
          а на 1/4 вам не дают футболки?
          • 13 лет назад, # ^ |
              Проголосовать: нравится +2 Проголосовать: не нравится
            Нет. Есть у Западно-Сибирского четвертьфинала одна очень поганая особенность, которую не стоит афишировать. Из-за нее у нас нет ни призов, ни дипломов, ни кубков, ни футболок.
        • 13 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится
          У Гены наверное склад футболок :)
          • 13 лет назад, # ^ |
              Проголосовать: нравится -17 Проголосовать: не нравится
            наверное даже высылает бедным детям африки)) (не в обиду Гене сказано)
        • 13 лет назад, # ^ |
            Проголосовать: нравится +1 Проголосовать: не нравится
          Какой ник у твоей девушки на TopCoder и/или CodeForces?
      • 13 лет назад, # ^ |
          Проголосовать: нравится +15 Проголосовать: не нравится
        О как, я своей поставлю такое условие: "женюсь когда выиграешь футболку" :)
        • 13 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится
          Хм... Моя жена говорит что ни в коем случае не хотела бы выйти замуж за музыканта...

          А я со своей стороны думаю что IT-шнику жениться на IT-шнице тоже опасно... ;-)
          • 13 лет назад, # ^ |
              Проголосовать: нравится +9 Проголосовать: не нравится
            круто ... теперь я не буду Хаустовой ...
          • 13 лет назад, # ^ |
            Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

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

              Дело не в разногласиях... Конечно, чем более различающиеся области у двух IT-шников, тем проще...

              А вообще, если IT-шникам вступать в брак, то я бы считал продуктивной идеей если это будет брак программиста и тестера... ;-)

              Хороший тестировщик - это очень-очень ценно и иногда его очень-очень трудно найти... А тут он вот, под рукой... ;-)
              • 13 лет назад, # ^ |
                Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

                Брак по расчёту редко бывает счастливым. :-P

                UPD. Увидела новую тему, прощу прощения за комментарий сюда. =)
        • 13 лет назад, # ^ |
            Проголосовать: нравится +15 Проголосовать: не нравится
          А как же "Становись красной на TC и переходи на джаву - женюсь"? Что-то требования к потенциальной жене уже снизились ;)
          • 13 лет назад, # ^ |
              Проголосовать: нравится +22 Проголосовать: не нравится
            Да, уже и кушать хорошо хочется, и чтобы дома чисто было :) Потихоньку сдвигаю требования.
            • 13 лет назад, # ^ |
                Проголосовать: нравится -7 Проголосовать: не нравится
              Да ладно, не парься... Кушать и чисто зависит не от профессии жены (да и сам можешь освоить мытьё и готовку, не так ли?)...

              Просто иногда интересно общаться с профессионалами из других областей, а не из своей собственной, где в общем всё знаешь...
              • 13 лет назад, # ^ |
                Rev. 2   Проголосовать: нравится +15 Проголосовать: не нравится

                Что, Вы серьёзно всё в своей области знаете? =)
                • 13 лет назад, # ^ |
                    Проголосовать: нравится +8 Проголосовать: не нравится
                  Ага... Практически всё... Единственное, что мне неизвестно - где эта моя область и каковы её границы. ;-)
            • 13 лет назад, # ^ |
                Проголосовать: нравится +14 Проголосовать: не нравится
              Правильно :)
              Вот мудрый Romka вообще не предъявляет никаких требований, и уже без 5 минут счастливый муж. Лучше начать с того, что сам можешь предложить ;)
              • 13 лет назад, # ^ |
                Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

                Ну, то что Иван может предложить-на этом сайте и так всем известно:)

                P.S Если что, я про красный цвет говорю и про ряд выигранных контестов:)
                • 13 лет назад, # ^ |
                    Проголосовать: нравится +36 Проголосовать: не нравится

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

                  Ага, я так и представляю картину -- сидит себе девушка, думает, пора замуж. Заходит на CF и начинает выбирать... "Тааак, у этого что-то мало контестов выигранных, этот вообще в топ-10 не был, этот то красный, то нет, этот на <language1> пишет, а не на <language2> -- зачем мне такой муж... М-да, похоже, лучшая кандидатура -- tourist. Где тут личные сообщения..."

                  • 13 лет назад, # ^ |
                      Проголосовать: нравится +11 Проголосовать: не нравится
                    Я вас раскусил. Вам нужен таргет, у которого любимый язык - Delphi, что, определенно, редкость :).
                  • 13 лет назад, # ^ |
                      Проголосовать: нравится +6 Проголосовать: не нравится
                    А что, такой метод приносит свои плоды! Я вот, например, теперь жду своего мужчину в Токио, не зря на красного замахнулась :D
                • 13 лет назад, # ^ |
                    Проголосовать: нравится +8 Проголосовать: не нравится
                  ===========================
                  Ну конечно же я говорю не о контестах и рейтингах, для семейной жизни это как раз не так важно. Самые счастливые семьи - такие, где каждый думает прежде о супруге, а не о себе. Отсюда и "что я могу дать будущему мужу/жене" вместо "каким критериям должен соответствовать будущий супруг, чтобы угодить мне".
                  • 13 лет назад, # ^ |
                      Проголосовать: нравится 0 Проголосовать: не нравится
                    Про футболку - это я дразню девушку, которая рядом со мной сидит и пытается кодить на JS :)
                    • 13 лет назад, # ^ |
                        Проголосовать: нравится 0 Проголосовать: не нравится
                      Правильно делает. JS - злоскребучий язык, но иногда иметь под рукой специалиста в нём очень полезно... ;-)
      • 13 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        А моя на скрипке играет - в этой отрасли футболки пока не дают...

        Хотя я ей порекомендовал для детских конкурсов заказывать футболки в качестве призов ;-)
    • 13 лет назад, # ^ |
        Проголосовать: нравится -7 Проголосовать: не нравится
      А я и так уже штук пять футболок разным барышням раздарил - и ещё где-то столько же лежит, ждёт своего часа. Хотя когда самую первую выиграл - а это была зелёная такая с ВКОШП-2003, - помнится, полгода в основном в ней и ходил с гордостью.
  • 13 лет назад, # ^ |
      Проголосовать: нравится +5 Проголосовать: не нравится
    где вы вообще все увидели информацию о футболках? когда их доставят?
    • 13 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      В редактировании профиля, где надо было заполнить почтовый адрес.
      Сейчас там ничего уже не написано
      • 13 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        значит, я просто не обратил внимания =)
13 лет назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится
Было написато, что заказ будет выполнен автоматически, 13 июня.
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Всё-таки крайне неудачно время выбрано :(
  • 13 лет назад, # ^ |
      Проголосовать: нравится +1 Проголосовать: не нравится
    Да ну, нормально... Сегодня вечером на топкодере первый раунд можно повоевать - потом отоспаться - и с утречка на russiancodecup... Два в одном - оч удобно... ;-)

    Скорее всего как обычно - кому-то хорошо, а кому-то плохо... :-(

    Всё же надеюсь что как можно больше из прошедших в отбор смогут принять участие... Чтоб дух соревнования витал... %)
    • 13 лет назад, # ^ |
        Проголосовать: нравится -6 Проголосовать: не нравится
      Андрей имел в виду, что у студентов сессия. Вот, например, у меня послезавтра экзамен. 
      • 13 лет назад, # ^ |
          Проголосовать: нравится +23 Проголосовать: не нравится
        а у меня завтра экзамен, прямо во время раунда. но я отпросился =)
        • 13 лет назад, # ^ |
            Проголосовать: нравится -21 Проголосовать: не нравится
          А когда сдавать будешь? И вообще, из-за финала проблем с зачетами не возникло?
          • 13 лет назад, # ^ |
              Проголосовать: нравится +14 Проголосовать: не нравится
            сейчас иду сдавать на консультации
            • 13 лет назад, # ^ |
                Проголосовать: нравится -28 Проголосовать: не нравится
              В Саратове сдают экзамены даже по воскресеньям?
              У нас 2 группы сегодня, а 2 в понедельник. Я сдал и жду соревнований:)
              • 13 лет назад, # ^ |
                  Проголосовать: нравится 0 Проголосовать: не нравится
                Кто-то отличает дни недели на сессии ?
                • 13 лет назад, # ^ |
                    Проголосовать: нравится -21 Проголосовать: не нравится
                  Я, конечно, понимаю, что чистматы не отличают... ^_^
                  • 13 лет назад, # ^ |
                    Rev. 2   Проголосовать: нравится -14 Проголосовать: не нравится

                    Не только чистматы. Во многих универах в сессию праздники/выходные/будни не отличаются.
        • 13 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится
          Во как надо! Браво! Это вам не в 5 утра ради очередного SRM вставать или брать ноут на дачу! ;-)
      • 13 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        М-да... Как дважды студент и как репетитор, отлично вас понимаю. Когда забрал бакалаврский диплом из института, с огромным удивлением осознал что больше не надо с ужасом думать как бы вовремя написать курсовики, дипломы и сдать зачёты/экзамены...

        Однако поскольку RussianCodeCup не единственное соревнование, тут важно чтоб ещё время не слишком пересекалось с другими (в т.ч. международными) - или наоборот, чтобы было в один уикэнд с чем-то ещё - а у тех свои заботы, т.к. часовые пояса и время экзаменов в разных странах разное...

        Ну, надеюсь, впрочем, что вам обоим (и всем достойным студентам) удастся себя отлично проявить и на соревновании и на экзамене!
13 лет назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится
У меня такой вопрос а шаблон по правилам можно использовать?
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Во время раунда участникам разрешается пользоваться любой литературой и личными записями, а также заранее заготовленными программами. Участникам запрещается общаться на темы, связанные с задачами, с кем бы то ни было, в том числе с другими участниками. Участники должны честно выполнять все задачи, при этом жюри имеет право отслеживать честность поведения участников различными методиками и при выявлении нарушений - дисквалифицировать участника.
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Чекер на A кривой, исправьте пожалуйста

cout << p[k] << "\n";       // WA 2
printf("%.12f\n", p[k]);     // Accepted
  • 13 лет назад, # ^ |
      Проголосовать: нравится -6 Проголосовать: не нравится
    Да, есть у него такая проблема. И вообще, кто придумал давать мультитест задачу и 1 тест из условия?
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    На некоторых тестах он теряет один знак. Это нормально для относительной точности и ненормально для абсолютной. В тексте условия просто и скромно сказано "точность".
    • 13 лет назад, # ^ |
        Проголосовать: нравится -7 Проголосовать: не нравится
      Я разобрался: оказывается, cout по умолчанию выводит только 6 значащих цифр.
      Не понимаю, зачем так сделано...
      • 13 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        Не всем нравится смотреть на числа типа 1,000002134125423421515.
      • 13 лет назад, # ^ |
          Проголосовать: нравится +11 Проголосовать: не нравится
        Учитывая, что там ответ - пол целого...
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    у меня точно так же не зашло, после раунда скачал тести, посмотрел как там, подогнал формат output и все сошлось. А разве чекер не должен єто по-нормальному проверять ? А то как-то нехорошо получаеться.
    • 13 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      на больших тестах ответы > 100000, поэтому cout выводит их без дробной части
      • 13 лет назад, # ^ |
        Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

        оно то так, но разве чекер не должен ето обрабативать правильно? точность же верная.
        • 13 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится
          В данном случае не было сказано "абсолютная или относительна погрешность", было сказано "точность". Это 2 большие разницы
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Вот так вот, да...
13 лет назад, # |
  Проголосовать: нравится +8 Проголосовать: не нравится
Если я нигде не обсчитался, то можно уже поздравить e-maxx с досрочной победой.
13 лет назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится

Кстати, в D палево в 10 тесте (если, конечно, это не какая-то магия у меня).

Там как будто бы после самого теста идёт какой-то мусор - поэтому у меня был RE на 10 тесте (я обычно с мультитестом пишу решения).

Жюри я писал об этом давно, они никак не отреагировали.

  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    У тебя сняли одну попытку. Может, пофиксили?
    • 13 лет назад, # ^ |
        Проголосовать: нравится +1 Проголосовать: не нравится

      Угу, только что.


      ОК, понятно, в следующий раз клары к жюри надо писать сюда :-D

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

Такими темпами Petr не пройдет отбор...
UPD. Хотя, пройдет, там 50 человек отбирают, а не 25.
13 лет назад, # |
  Проголосовать: нравится -9 Проголосовать: не нравится
Ладно, всем удачи на финале.
Скажете по завершению, как решались D и F?
  • 13 лет назад, # ^ |
      Проголосовать: нравится +17 Проголосовать: не нравится

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

     Задача F – баян. Это задача C из Yandex.Algorithm 2011 Round 2 http://codeforces.com/contest/86/problem/C Решается динамикой по бору.

    • 13 лет назад, # ^ |
        Проголосовать: нравится -41 Проголосовать: не нравится
      Да, надо учить матчасть...
    • 13 лет назад, # ^ |
        Проголосовать: нравится +3 Проголосовать: не нравится
      Да, F и вправду позабавила. Я помню, что это была C с того раунда, я помню, что я её тогда не решил. Но я дорешиваю практически все задачи, за которые берусь на контесте, исключение, наверное, где-то одна из двадцати. И именно на тогдашнюю C я забил и поэтому сейчас не знал, как решать F.
      Вот. А по поводу D - можно как-нибудь доказать это утверждение, что ли? Тоже думал, что можно хитро разбить на отрезки, но так и не придумал как.
      • 13 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        Сумма выпуклых вниз функций выпукла.
        На интервалах, которые мы берем, как раз и складываем выпуклые вниз функции.
        • 13 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится
          ээм?
          -\/--------
          +
          ------\/--
          =
          -\/---\/--

          или я чего-то не понимаю?
          • 13 лет назад, # ^ |
              Проголосовать: нравится 0 Проголосовать: не нравится
            Это не выпуклые ни вверх, ни вниз функции.
            Выпуклая вниз функция должна лежать ниже любой своей хорды (можно принять это за определение, если не требовать гладкости).
          • 13 лет назад, # ^ |
              Проголосовать: нравится 0 Проголосовать: не нравится
            У тебя слагаемые это невыпуклые функции.
        • 13 лет назад, # ^ |
            Проголосовать: нравится +3 Проголосовать: не нравится
          Если кому-то интересно, то доказывается выпуклость функции в задаче очень просто: достаточно понять, почему f(x) + f(y) > 2*f((x+y)/2), то есть доказать, что удвоенная длина биссектрисы меньше суммы боковых сторон. Но биссектриса короче медианы, а для медианы это очевидно.
          • 13 лет назад, # ^ |
              Проголосовать: нравится 0 Проголосовать: не нравится
            Да, спасибо, этот факт наконец-то понял. Осталось понять, как функцию вычислять быстрее чем за квадрат. Егор вот тут чего-то написал, но я до сих пор не догоняю. Ну да ладно, наверно, это несложно, просто у нас тут жара стоит +35, мозг натурально плавится :(
            • 13 лет назад, # ^ |
                Проголосовать: нравится +3 Проголосовать: не нравится
              Находим сначала за квадрат какую именно сторону гирлянда пересекает на данном отрезке. Затем уже на каждой итерации ищем пересечение именно с ней
    • 13 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      D:
      "утверждается что функция выпуклая " - видимо потому что тогда у каждой отдельной гирлянды производная длины монотонна. Если визуально посмотреть - да, чем ближе к перпендикуляру, тем модуль меньше, притом с одной стороны она с минусом, с другой - с плюсом.
  • 13 лет назад, # ^ |
      Проголосовать: нравится +35 Проголосовать: не нравится
    F решалась так:
    http://codeforces.com/blog/entry/2028 (задача С)
    Какого лешего на двух турнирах с интервалом в 3 недели в решающей стадии отбора одна и та же задача?
    • 13 лет назад, # ^ |
        Проголосовать: нравится +10 Проголосовать: не нравится
      Я читал разбор задачи и писал решение. Надеюсь, что это не запрещено.
    • 13 лет назад, # ^ |
        Проголосовать: нравится +20 Проголосовать: не нравится
      да это верх тупости

      не знаю, что меня остановило от того, чтобы скопировать решение кого-нибудь из сдавших эту задачу на яндекс.алгоритме и отправить её тут
    • 13 лет назад, # ^ |
        Проголосовать: нравится +41 Проголосовать: не нравится
      Андрей Станкевич прошел во второй раунд Яндекса с 5го места, но в нем не участвовал. Зря
    • 13 лет назад, # ^ |
        Проголосовать: нравится +23 Проголосовать: не нравится
      Так случилось, что из команды, которая делала этот контест (9 человек) никто не поучаствовал в том раунде.

      К сожалению, всякое бывает.
      • 13 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        Я, пожалуй, не слишком корректно выразился, если это так - извиняюсь.
        Кстати, заметил тогда, что Вы прошли, но не участвовали...
        А задачи (включая F ;) ) хорошие были, авторам спасибо.
    • 13 лет назад, # ^ |
        Проголосовать: нравится +14 Проголосовать: не нравится
      Мда. Теперь стало ясно почему её все так быстро сдавали. (а я к сожалению не припомнил, это задачи. Так и убил на неё прилично времени, так и не сдав =( ).
    • 13 лет назад, # ^ |
      Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

      Как говорится, идеи витают в воздухе...
  • 13 лет назад, # ^ |
      Проголосовать: нравится -8 Проголосовать: не нравится

    D - очевидно. Рассматриваем все углы, в которых какая-то из гирлянд меняет сторону, на которую она прикрепляется. Их будет примерно 30*30 (число гирлянд на число сторон). Сортируем эти углы. Для каждого промежутка между соседними углами каждая гирлянда прикрепляется к одной и той же стороне. Обсуждаемая в задаче сумма расстояний есть сумма выпуклых функций, поэтому на каждом такой промежутке можно тернарным поиском найти минимум. Получается 30*30*(глубина поиска)*(время вычисления функции).

    Мне не понравился TL =( Пришлось буквально подгонять число итераций терн. поиска и оптимизировать процесс вычисления функции.

    • 13 лет назад, # ^ |
        Проголосовать: нравится +13 Проголосовать: не нравится
      Ну я вот функцию вычислял за O(число гирлянд) и оптимизировать не пришлось (при этом для каждого отрезка предподсчет О(число гирлянд * число точек)
    • 13 лет назад, # ^ |
        Проголосовать: нравится +8 Проголосовать: не нравится
      Можно  объяснить послений факт плз? Да, у нас есть Н некых выпуклых (вверх и вниз) функций, возрастающих и убывающих с разной скоростью. Почему только 1 экстремум??
      • 13 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        Они все выпуклы вниз
        • 13 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится
          Да,  действительно. Но все равно не  понятно, почему минимум 1. На фиксированном промежутке некоторые еще убывают, некоторые уже возрастают..
          • 13 лет назад, # ^ |
              Проголосовать: нравится 0 Проголосовать: не нравится
            Потому что у выпуклой вниз функции не более 1 локального экстремума
      • 13 лет назад, # ^ |
        Rev. 2   Проголосовать: нравится +29 Проголосовать: не нравится

        Они все выпуклы вниз, значит, их сумма тоже выпукла вниз.

        Если этот факт неочевиден, можно его переформулировать: у них у всех втрая производная положительна, значит и у суммы вторая производная положительна, поскольку производная суммы - это сумма производных.

        • 13 лет назад, # ^ |
            Проголосовать: нравится +5 Проголосовать: не нравится
          Да, мой главный вопрос по сути к этому и сводился. Спасибо большое!
  • 13 лет назад, # ^ |
    Rev. 3   Проголосовать: нравится 0 Проголосовать: не нравится

    Как решать D вроде понятно было и так... А вот как не наглючить при реализации... Мне не удалось... Конечно геометрические задачки нужно:
    а) тренировать, тренировать и ещё раз тренировать...
    б) иметь под рукой наборчик оттестированных полезняшек для работы с углами, линиями и отрезками... ;-)

    Я когда покорректирую своё решение, точно скажу, но вроде её можно было решать даже особо не разбираясь в глубоких методах вычмата: сумма длинн гирлянд это ж функция от угла поворота, количество минимумов у неё может быть конечно больше одного, но поскольку мы можем сделать о-о-очень много вычислений её за отведённые 2 секунды (даже на Java, хы-хы), то способов найти этот минимум можно придумать кучу... В том числе простых... Интересно не пробовал ли кто сужающийся случайный поиск... Вдруг удалось... ;-)
    • 13 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      я написал тернарный поиск, и позапускал его на разных тупых отрезках. Шёл с интервалом 0.01 по углу от -Pi/100 до Pi * 6 на каждом отрезке длины 0.01 делал поиск и это вошло. У меня было время на нормальное решение, но мне показалось что и так войдёт.
13 лет назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится
я целый час тупил над Е , это же надо так.

В геморной D  у меня вообще тупой баг - забыл файлы отключить, так бы с первого раза сдал.
  • 13 лет назад, # ^ |
      Проголосовать: нравится -33 Проголосовать: не нравится
    Я Е написал за 9 минут и еще 9 минут шаманил(надеюсь, для решающих это не сильная подсказка)
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    как нормально решали E? я тоже долго тупил, начал писать бинпоиск с дп внутри, но потом развернул это дп наизнанку и получил ответ без бинпоиска.
13 лет назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится
Походу выход за пределы массива будет стоить мне   поездкой :(
13 лет назад, # |
  Проголосовать: нравится +13 Проголосовать: не нравится
мда, надо учиться читать условия >_<
в первой задаче думал, что ранее необрушенный мост падает с вероятностью 1/2 при каждом проходе по нему, а не при первом.
после потраченного часа и +4 за это продолжать участие смысла уже не было.
13 лет назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится
Агхрр, гребаный тервер. Вчера весь срм тупил с 500, вот и сейчас.
В общем, расскажите, как решать А =_=
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Если осталось n мостов, то,
    т.е. dn = dn - 1 + 1 + (N - n)
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    dp[n] = dp[n - 1] + 1 + (n - 1)* 0.5
    dp[1] = 0;

    • 13 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      оп... а почему там полуцелое число получается? о О
      я промоделировал численно и получил
      2 1.4998020000
      3 3.6233720000
      4 6.4848570000
      5 10.1641200000
      6 14.7143000000
      7 20.2563320000
      8 26.6997540000
      9 34.2892800000
      10 42.5786450000
      11 51.8425590000
      12 62.2131900000
      13 73.8046050000
      14 86.1391800000
      15 99.6078180000
      16 113.9635360000
      17 129.1995770000
      18 145.3372650000
      19 162.4464510000
      20 181.2334060000

      мб, я конечно, в нем накосячил... или rand() настолько не случаен...
      • 13 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        Правильно ли вы понимаете условие задачи? Если мы хоть раз прошли между k и k+1 островом (неважно, падали, или нет), мы больше никогда не ошибемся при выборе моста.
        • 13 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится
          АРГХ, я прочитал неправильно.
        • 13 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится
          код:

              double sum=0.;
              FOR(a,1,1000000)
              {
                  CLR(sta);
                  double t=0.;
                  while(1)
                  {
                      bool flag=false;
                      FOR(b,1,n)
                          if (b==n) flag=true;
                          else if (sta[b]) t+=1.;
                          else if (rand()&1) t+=1.;
                          else
                          {
                              t+=1.;
                              sta[b]=true;
                              break;
                          }
                      if (flag) break;
                  }
                  sum += t;
              }
              WR("%d %.10lf\n", n, sum/1000000);
          • 13 лет назад, # ^ |
              Проголосовать: нравится 0 Проголосовать: не нравится
            Хм, у меня с неправильно прочитанным условием были такие же результаты.
          • 13 лет назад, # ^ |
              Проголосовать: нравится 0 Проголосовать: не нравится
            else if (rand()&1) t+=1., sta[b]=true;
            • 13 лет назад, # ^ |
                Проголосовать: нравится 0 Проголосовать: не нравится
              Плин, понял где я неверно понял условие. Если он проходит по мосту и он не разваливается, то он уже знает, что по нему всегда можно ходить.

              Ладно, спасибо всем, это было неверное понимание условия.
              • 13 лет назад, # ^ |
                  Проголосовать: нравится 0 Проголосовать: не нравится
                =======================================
                С таким пониманием она тоже решается - надо считать dij= матожидание числа ходов до i, если мы при попадании в i сразу телепортируемся в 1 и хотим повторить такой процесс j раз. Тогда ответ - это dn1, а dij = 0.5j(di - 1j + j) + (1 - 0.5j)(di - 1j + 1 + j + 1). Я очень удивился, когда оно не прокатило, и думал, что проблемы с точностью. К сожалению, я догадался перечитать условие далеко не сразу :(
                • 13 лет назад, # ^ |
                    Проголосовать: нравится 0 Проголосовать: не нравится
                  Да, под конец раунда я вывел подобный ужас. Подумал, что наверно у меня с тервером вообще все плохо, раз остальные такое за 3 минуты выводят :D
                  А когда не зашло - забил на эту задачу.
      • 13 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        dp[n - 1] - это мат. ожидания, что мы пройдем первые (n - 1) островов.
        1 это мы еще по одному мому, до следущего островго с вероятность 0.5 мост обрушится, тогда мы уже сможем без падений дойти до n-ого острого, что займет n переходов по мостам. и с вероятность 0.5 мы выберем правильный мост)
        вот и получается dp[n] = dp[n - 1] + 1 + 0.5 * (n - 1)
      • 13 лет назад, # ^ |
          Проголосовать: нравится -7 Проголосовать: не нравится
        а зачем моделировать, если можно было за 2^n * poly(n) первые ответы получить?
      • 13 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        Ну а что смущает? Погрешность моделирования можно оценить - стандартное отклонение одного рана n/4, или что-то типа того, стандартное отклонение моделирования - порядка n/4/sqrt(Runs). То есть чтобы для n=1000 получить ответ с точностью 0.01, нужно порядка 10^10 итераций сделать. Ну, стандартное отклонение несколько переоценили, поскольку там внутри одной итерации несколько заходов, но это все равно сокращает погрешность только на порядка sqrt(n). Думаю, вы вряд ли делали больше 10^6 итераций, поэтому полученной точности не стоит удивляться. Это, замечу, предполагая, что rand() хорош...
        • 13 лет назад, # ^ |
          Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

          ну я ж моделировал для n<=20 дабы увидеть закономерность.

          кстати, моделирование при верном понимании условия выдает
          2 1.4998020000
          3 3.5000770000
          4 5.9998750000
          5 8.9999670000
          6 12.5001420000
          7 16.5003380000
          8 20.9999780000
          9 26.0002160000
          10 31.4993180000
          11 37.5005400000
          12 43.9989720000
          13 51.0013810000
          14 58.4970710000
          15 66.5009830000
          16 75.0001140000
          17 83.9999140000
          18 93.4984590000
          19 103.4991060000
          20 114.0027000000

          закономерность видна невооруженным глазом

          UPD. но при верном понимании условия моделирование, конечно же, не нужно...
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Мы между двумя островами пройдем в среднем 1 мост + число мостов до конца / 2
  • 13 лет назад, # ^ |
    Rev. 3   Проголосовать: нравится 0 Проголосовать: не нравится

    Если p[k] - мат. ожидание, если осталось k мостов из n, то p[k] = 0.5 * (p[k - 1] + 1) + 0.5 * (p[k - 1] + n - k + 2). Первая часть - мост не рушится, вторая - мост рушится и мы идем с начала по крепким мостам.
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Понятно, что на каждом мосту мы упадем не больше одного раза. Если упадем на k мосту, то придется идти снова до исходного места k-1 шаг, +1 шаг на падение. Если угадаем - больше падать не будем. Итого: с вероятностью 1/2 мы потратим на k мост k+1 шаг и с вероятностью 1/2 - 1 шаг. Всего n+n*(n-1)/4.
    • 13 лет назад, # ^ |
        Проголосовать: нравится -10 Проголосовать: не нравится
      Мне ужасно не понравились в условии следующая формулировка:
      1) "... разваливается, если на него ступает участник"
      2) "... количество мостов, которое понадобится пройти участнику..."
      Получается, что по первому пункту мост рушится, если по нему только начать идти (путь нулевой длины), а по второму - мы проходим весь мост и лишь затем падаем (сопоставлено с примером из условия).
      • 13 лет назад, # ^ |
          Проголосовать: нравится +1 Проголосовать: не нравится
        Если бы вы читали условие чуть более внимательно, вы бы обнаружили строчку "Проход по мосту, который развалился под участником, также считается проходом по мосту", которая исключает двойное понимание.
  • 13 лет назад, # ^ |
      Проголосовать: нравится +35 Проголосовать: не нравится
    Codeforces: Выбери себе решение :).
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    f(n) =
       0.5*(f(n-1) + 1) /*прошли мост удачно*/
    + 0.5*(f(n-1) + n) /*упали, вернулись, прошли еще n-1 мостов*/
  • 13 лет назад, # ^ |
      Проголосовать: нравится -12 Проголосовать: не нравится
    Фу, как некрасиво... Типа хорошие задачи только те, которые мы решать умеем, а если простая задача со словом "равновероятный", то это "грёбаный тервер" - и она недостойна пера мастера?
    • 13 лет назад, # ^ |
        Проголосовать: нравится +12 Проголосовать: не нравится
      Спасибо за комплимент (я про мастера).

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

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

        Впрочем с ДП у меня плохо как и со всем остальным %)

        А вот задач именно на какие-то вероятностные фокусы, нюансы, парадоксы, распределения, вариации - ни разу...
        • 13 лет назад, # ^ |
            Проголосовать: нравится +22 Проголосовать: не нравится
          Бывает, что в задачах используется линейность матожидания. И это обычно бывает весьма красиво. :)
      • 13 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        Я кстати абсолютно согласен с тем что эта задачка была тяжела для понимания. Только с третьего раза получилось прочитать. Добавили бы хотя бы еще один семпл...
        • 13 лет назад, # ^ |
          Rev. 2   Проголосовать: нравится +1 Проголосовать: не нравится

          Дополнительный сэмпл сделал бы совсем кэпской, так как сразу стала бы видна тривиальность дробной части, что подтолкнуло бы тупо угадать формулу в которую надо подставить N...
13 лет назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится
Блин надо было на контесте напереться на баг в компиляторе. Жесть просто. Но вроде и так прошёл.
13 лет назад, # |
  Проголосовать: нравится +2 Проголосовать: не нравится
Как решалась Е ?
  • 13 лет назад, # ^ |
      Проголосовать: нравится +3 Проголосовать: не нравится
    Бектрекингом с отсечением что если мы даже максимальной суммой хотя бы такое число уже не сможем набить, то дальше смотреть не надо
    • 13 лет назад, # ^ |
      Rev. 3   Проголосовать: нравится -6 Проголосовать: не нравится

      Ох... Смешно. Предполагалась динамика, правда с отсечением.

      P.S. Самое глупое ставить автору задачи за это минус. :-)!
      • 13 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        Проходил и перебор с хорошими отсечениями, и перебор с предподсчетом ответов до Н,К до 100000,500 и ДП по длине, кол-ву единиц еще не законченых слагаемых и переносу.
        • 13 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится
          Понятно. Спасибо ;)
        • 13 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится
          Я написал первое:). Отсечения возможно и не все нужны были так как последним исправлением было исправление какого-то инта на лонги:). Первое отсечение-чтобы слагаемые шли по убыванию. Второе отсечение-из всех 18 штук доступных чисел, состоящих из единичек, нам на следующем шаге подойдут не более трех-четырех. С умными отсечениями, вроде, все, ну еще ряд тупых: типа доходит что-нибудь до нуля-брякаем. Ах, да, писал я это очередью(чтобы быстрее было) и динамика у меня шла назад.
      • 13 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        динамика без отсечений =) хотя, возможно, я просто аккуратно подсчитал, какие циклы до чего должны идти
        • 13 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится
          Вероятно это и есть отсечение :) Пришлось немного подогнать циклы, потому что даже локально работало секунды 2. Хорошо еще хоть, что все в массив влазило без динамического выделения памяти.
        • 13 лет назад, # ^ |
          Rev. 2   Проголосовать: нравится +1 Проголосовать: не нравится

          Не в ту ветку
      • 13 лет назад, # ^ |
          Проголосовать: нравится +6 Проголосовать: не нравится
        Будем перебирать сколько единичек ставим в младшем разряде, и идем к старшему.
        Параметры: текущее число, сколько единичек осталось, сколько максимум можно взять.
        Если берем i единичек то число x меняем на (x-i)/10.
        Отсечение заключается в том что  i%10 == x%10.
        • 13 лет назад, # ^ |
          Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

          Так... Предыдущую правку уже написали...
          • 13 лет назад, # ^ |
              Проголосовать: нравится 0 Проголосовать: не нравится
            Вот я это делал, но в конце побоялся ТЛ на яве. оценил в 18 x 500 x 250 x 100 , многовато.
            но если использовать ленивую динамику и map то может пройдет, состояний то не так много
            • 13 лет назад, # ^ |
                Проголосовать: нравится +1 Проголосовать: не нравится
              Можно за 18 * 500 * 500
              Состояние - префикс числа x и сколько единичек осталось, а храним в этом состоянии мин. число слогаемых
    • 13 лет назад, # ^ |
        Проголосовать: нравится -7 Проголосовать: не нравится
      Вот мое совсем тупое решение
      • 13 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        Было бы неплохо, если ваше решение можно было скопировать и сразу запустить, а не искать ваши библиотеки :)
        • 13 лет назад, # ^ |
            Проголосовать: нравится +5 Проголосовать: не нравится
          http://code.google.com/p/egork/source/checkout
          У Егора свой репозиторий mercurial , там всё есть :)
        • 13 лет назад, # ^ |
            Проголосовать: нравится -8 Проголосовать: не нравится
          Я ссылки выкладываю чтобы почитать можно было и понять алгоритм, а не чтобы его запускали ;)
          • 13 лет назад, # ^ |
              Проголосовать: нравится 0 Проголосовать: не нравится
            Смотри, но не трогай.  Как-то странно :)))
            • 13 лет назад, # ^ |
                Проголосовать: нравится 0 Проголосовать: не нравится
              Ну, если очень сильно захотелось потрогать - то тоже вроде не проблема. Но вот читать простыни с заинлайненым кодом - не комильфо. Да и вдруг мне восстановить его надо будет и переписать во что-то другое
      • 13 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        В прошлом году на финале Code Jam ты мог использовать свои библиотеки? Они ведь по идее доступны всем, а значит по правилам их можно использовать. Или нет?
        • 13 лет назад, # ^ |
            Проголосовать: нравится +5 Проголосовать: не нравится
          К финалу прошлого года у меня их не было
          Но использовать я их могу даже если бы не выкладывал в общий доступ
          • 13 лет назад, # ^ |
              Проголосовать: нравится -7 Проголосовать: не нравится
            Будете использовать в этом году?
            • 13 лет назад, # ^ |
                Проголосовать: нравится +5 Проголосовать: не нравится
              Да, конечно, я тупо зачекаутю свой проект (ну и на флешке притащу на всякий случай)
    • 13 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Вот и я точно такую же фигню сдал. Есть идеи, как доказать?
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    я написал динамику за O(K^3*log(N)) :)
    dp[i][j][t] - минимальное кол-во слагаемых состоящих из j единичек, чтобы получить число составленное из старших i цифр числа N минус t. t - фактически это перенос с младших разрядов.
    • 13 лет назад, # ^ |
        Проголосовать: нравится -26 Проголосовать: не нравится
      а разве целочисельний симплекс - метод нельзя?
      a + b + c + d + ... + x -> min
      a + 2 b + 3 c + 4d +... + 18 x  = k
      a + 11b + 111c + 1111d + ... x * 1...1(18 едениц) = n

      • 13 лет назад, # ^ |
          Проголосовать: нравится -8 Проголосовать: не нравится
        что такое целочисленный симплекс-метод?
        • 13 лет назад, # ^ |
            Проголосовать: нравится -16 Проголосовать: не нравится
          ну там есть какие-то модификации...
          • 13 лет назад, # ^ |
              Проголосовать: нравится +5 Проголосовать: не нравится
            Эм, ну вообще-то задача целочисленного программирования NP-трудна, к ней очевидно сводится SAT, например. Так что если вы вдруг научитесь решать это также быстро, как и задачи линейного программирования, то будет очень круто :)
            • 13 лет назад, # ^ |
                Проголосовать: нравится 0 Проголосовать: не нравится
              А разве задачи обычного (не целочисленного) линейного программирования решаются быстро? Симплекс метод в худшем случае работает экспоненциальное время.
              • 13 лет назад, # ^ |
                  Проголосовать: нравится 0 Проголосовать: не нравится
                Ну метод эллипсоидов работает за гарантированный полином.
                • 13 лет назад, # ^ |
                    Проголосовать: нравится 0 Проголосовать: не нравится
                  А я почему-то думал что лучше симплекс метода до сих пор ничего не придумали :)
                  • 13 лет назад, # ^ |
                      Проголосовать: нравится +8 Проголосовать: не нравится
                    =================================
                    Ну потому что у эллипсоидов такой полином, что на практике никто им не пользуется и все пишут симплекс-метод.
                    • 13 лет назад, # ^ |
                        Проголосовать: нравится +8 Проголосовать: не нравится
                      ===============================

                      На практике симплекс-метод пишут только авторы библиотек.
                      • 13 лет назад, # ^ |
                          Проголосовать: нравится 0 Проголосовать: не нравится
                        ===============================
                        В этом году на украинском полуфинале АСМ была задача на симплекс метод.
                        • 13 лет назад, # ^ |
                            Проголосовать: нравится -9 Проголосовать: не нравится
                          ===========================
                          Но, кажется, эта задача не должна влиять на прошедшие в финал команды. Или всё же влияла?
                          • 13 лет назад, # ^ |
                              Проголосовать: нравится +11 Проголосовать: не нравится
                            =========================
                            Эта задача вместе с еще 11 другими была в проблемсете  и точно так же влияла на результаты, как и все остальные задачи.
                            • 13 лет назад, # ^ |
                                Проголосовать: нравится -11 Проголосовать: не нравится
                              =========================
                              Я имею в виду, что те команды, которые могут написать симплекс-метод, скорее всего смогут написать большинство остальных задач, достаточных для прохождения в следующий раунд.
                              • 13 лет назад, # ^ |
                                  Проголосовать: нравится 0 Проголосовать: не нравится
                                ====================
                                А, в этом плане. На самом деле ее никто не сдал :) Мы в самом конце начали кодить, но я ее так и не додебажил. 
                    • 13 лет назад, # ^ |
                      Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

                      ================================================
                      А если не секрет, как вообще он на практике работает этот симплекс метод(я имею ввиду скорость его сходимости к решению)? Т.е. есть смысл вообще его применять в олимп. программировании. Например если свел задачу к лин.прогу. а свести к потоку или парсочу не можешь?
                      • 13 лет назад, # ^ |
                          Проголосовать: нравится +8 Проголосовать: не нравится
                        ==============================
                        В задачах на паросочетание или поток обычно дают достаточно большие ограничения, чтобы самописный симлекс-метод не успел. Но если в графе 50 вершин и рёбер - то можно и с его помощью сдать. Ну или на каких-нибудь gcj пользоваться библиотеками, в которых в симплекс-методе реализована куча отсечек.
            • 13 лет назад, # ^ |
                Проголосовать: нравится -18 Проголосовать: не нравится
              ну у нас всего 2 условия и 18 переменных...

              • 13 лет назад, # ^ |
                  Проголосовать: нравится 0 Проголосовать: не нравится
                Зато область очень большая. Точек в ней целочисленных много.
                • 13 лет назад, # ^ |
                    Проголосовать: нравится -13 Проголосовать: не нравится
                  так ж там насколько я помню надо делать разделяй и властвуй по каждой переменной
                  • 13 лет назад, # ^ |
                      Проголосовать: нравится +5 Проголосовать: не нравится
                    Ну алгоритм от этого полиномиальным не становится.

                    Это как решать задачу о рюкзаке "всего" для 100 предметов, каждый весом порядка 10^18. Их вроде бы и не много, но вес имеет значение.
                  • 13 лет назад, # ^ |
                      Проголосовать: нравится 0 Проголосовать: не нравится
                    =====================================
                    Тогда уж сразу использовать специализированные solver'ы. Но у них внутри такой ад, что это решение тяжело назвать простым.
        • 13 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится
          Метод решения задач линейного программирования.


          • 13 лет назад, # ^ |
              Проголосовать: нравится 0 Проголосовать: не нравится
            Это просто симплекс-метод. Тут ключевое слово - целочисленный.
          • 13 лет назад, # ^ |
              Проголосовать: нравится +1 Проголосовать: не нравится
            Дааааа, Тарас его выучил после этого семестра =))))))) Все у нас (БГУ, ФПМИ, 3 курс) выучили... ;)
            • 13 лет назад, # ^ |
                Проголосовать: нравится 0 Проголосовать: не нравится
              ты не представляешь, Рома, как мы учили=)))
  • 13 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

    Я долго пропихивал какое-то жадное решение, потом плюнул и написал наглый bfs по всем состояниям (отсечение по k единицам). На каждом шаге перекидывал единицу как бы на разряд ниже и приводил к виду
    P.S. код
13 лет назад, # |
  Проголосовать: нравится +16 Проголосовать: не нравится
Кто-нибудь знает, в каких числах в этом году будет проводиться финал Всеукраинской ICPC в Виннице и не пересечется ли он с финалом RCC (17.09)?
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    емнип, финал Украины (он же теперь полуфинал мира, то есть один из регионов, в котором проводится SEERC) будет проходить в то время, когда и SEERC, то есть в начале второй половины октября.
13 лет назад, # |
Rev. 2   Проголосовать: нравится +83 Проголосовать: не нравится
qulinxao
1 
1 
13:14
2 
3 
5 
8 
113331
числа фибоначчи) интересно специально или случайно так получилось?)

  • 13 лет назад, # ^ |
      Проголосовать: нравится +1 Проголосовать: не нравится
    Судя по нику, задачи сдавал наугад, так что вполне возможно, что специально)
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Помню, кто-то на codeforces писал, что решал китайский контест, все задачи на китайском и одну таки умудрился сдать :) Так что респект qulinxao.
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Мое решение по Е получает Wrong Answer test 35. Скачал тесты - моя программа проходит этот тест. Кто-нибудь может подсказать в чем дело?

Ссылка на решение:http://pastebin.com/tBh3PfRP

  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Если ты слал по MinGW, то возможно в этом проблема. Либо ты не закомментил freopenы.
    • 13 лет назад, # ^ |
      Rev. 3   Проголосовать: нравится 0 Проголосовать: не нравится

      Слал под Microsoft Visual C++. Локально тестировал при помощи восьмой студии.

      UPD: freopenы точно закоментил, ведь вронг проявился аж на 35 тесте.
      • 13 лет назад, # ^ |
        Rev. 2   Проголосовать: нравится -12 Проголосовать: не нравится

        Не вникал в решение, но: так и планировалось, что у тебя функция возвращает short, а массив dp типа char? Неужели int сильно тратит память, что понадобились такие оптимизации?

        UPD: Судя по комменту, ты уже нашел баг. А что значат слова "вероятность мала, что он сыграет"? Мала вероятность, что авторы добавят макстест? ^_^
        • 13 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится

          Даже short получал мемлим, легко посчитать почему.

          Думаю, проблема не в типе, ведь возвращается всегда или 1, или -2.

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

            Тест 2^32 + 1 1 не такой уж и сложный.
            На нем локально твое решение работает?
            Вроде должно получаться 1 и 1 и ты возвращаешь 1, что неправильно.
            • 13 лет назад, # ^ |
              Rev. 3   Проголосовать: нравится 0 Проголосовать: не нравится

              Я не спорю, что тест подобрать можно(хотя ваш тест не соответствует, как минимум, условию задачи). Предположим, что авторы даже предугадали такой баг. Тема поднималась не из-за этого - на тесте 35 локально моя программа выдает верный результат. Я понимаю, что я ошибся. Меня просто интересует, в чем причина разных вердиктов на моей машине и на стороне сервера. 

              UPD. Тепрь ваш тест соответствует условию, но результат моей программы - Impossible.


              • 13 лет назад, # ^ |
                  Проголосовать: нравится +3 Проголосовать: не нравится
                Если переполнение идет в знаковом типе, то это undefined behavior. Соответственно видимо разные настройки оптимизатора. Попробуйте запустить с теми параметрами командной строки что даны в правилах
13 лет назад, # |
  Проголосовать: нравится -42 Проголосовать: не нравится
в задаче Е
а разве целочисельний симплекс - метод нельзя?
a + b + c + d + ... + x -> min
a + 2 b + 3 c + 4d +... + 18 x  = k
a + 11b + 111c + 1111d + ... x * 1...1(18 едениц) = n
  • 13 лет назад, # ^ |
      Проголосовать: нравится +1 Проголосовать: не нравится
    В теории можно. На практике - вряд ли пройдет. Да и писать его менее приятно чем ту же динамику, не говоря уже о переборе.
13 лет назад, # |
  Проголосовать: нравится +26 Проголосовать: не нравится
А среди 50 участников есть те, кто не поедет на финал? :)
13 лет назад, # |
  Проголосовать: нравится +13 Проголосовать: не нравится
Даааа, после 2 недель в больнице прямо чувствуется, как мох в голове растёт :) Ну, хотя бы 3 задачки осилила :)

С TCO вышло хуже, разговоры соседок по палате о том, кто у кого от чего умер, явно не способствуют мыслительной деятельности :)
13 лет назад, # |
Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

Помогите, а то туплю с задачей F.
Делаю так:
1) Строю Бор, считаю суффиксные ссылки для всех вершин.
2) Пускаю динамику по двум параметрам [текущая длина][вершина бора]
Переходы такие:
а) если вершина не является концом слова-вируса, перехожу во все смежные состояния, длину увеличиваю на 1
б) если вершина является концом слова-вируса, перебираю всю цепочку суффиксных ссылок и из каждой такой вершины пробую идти во все смежные, длина +1.
Правильная ли динамика?, а то падает на 8ом тесте, или же ошибка в подсчете суффиксных ссылок (на глаз вроде все ОК).
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    4 3
    aba
    bab
    ab

    Если я правильно понял вашу идею, то слово abab будет найдено дважды.
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Рома, вот я на контесте то же самое придумал, но, уже дописывая код, понял, почему это неверно. Вот ты проходишь по варианту б), а как ты потом можешь пойти по варианту а) из всех смежных состояний? У тебя, получается, варианты будут зазря учитываться именно из-за цепочки суффиксных ссылок. С другой стороны, если брать только первую суффиксную ссылку, то это может потом оказаться не та. Такие вот дела. Решение принципиально другое. Посмотри на задачу C со второго раунда "Яндекс.Алгоритм" и на её разбор - она такая же.
    • 13 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Да, еще один параметр не учел, хотя сначала показалось двумя все покрываем..
13 лет назад, # |
  Проголосовать: нравится +2 Проголосовать: не нравится
А кому-нибудь из Москвы или Питера уже дошли футболки? 
  • 13 лет назад, # ^ |
      Проголосовать: нравится -13 Проголосовать: не нравится

    Не так надо.

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

    • 13 лет назад, # ^ |
        Проголосовать: нравится +15 Проголосовать: не нравится
      Почта России, и пусть весь мир подождет...
      • 13 лет назад, # ^ |
          Проголосовать: нравится -10 Проголосовать: не нравится
        Мир подождет, а я ждать не буду %)
        • 13 лет назад, # ^ |
            Проголосовать: нравится +12 Проголосовать: не нравится
          сам сходишь и заберёшь? =)
        • 13 лет назад, # ^ |
          Rev. 2   Проголосовать: нравится +14 Проголосовать: не нравится

          Не выиграл футболку?))
        • 13 лет назад, # ^ |
          Rev. 2   Проголосовать: нравится +3 Проголосовать: не нравится

          Кстати не факт, что футболка вообще придет :)

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

            с каждым днем, это становится более вероятным...  уже наверное и не пришлют
            • 13 лет назад, # ^ |
                Проголосовать: нравится 0 Проголосовать: не нравится
              Также помнится чтоб получить майку за Code Jam 2009, тоже пришлось писать ответное письмо, чтоб совсем не забывали про меня  и выслали, пришла после этого через 3-4 дня.

              Поэтому таки пнул организаторов на то мыло, с которого приходили поздравления. ждем-с...
          • 13 лет назад, # ^ |
              Проголосовать: нравится +1 Проголосовать: не нравится
            Цитата с их сайта:
            "600 участников отборочного раунда (19 июня) получат наши футболки http://t.co/3TYJJBc Мы уже начали рассылку подарков."
            Опубликована эта новость 2 часа назад. Так что надежда есть)
  • 13 лет назад, # ^ |
      Проголосовать: нравится +3 Проголосовать: не нравится
    если в Москве они не могут футболки разослать, я представляю, когда до нашего региона футболки дойдут
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Хм.... А в Беларусь то %) Интересно, повлияет ли на это нынешний бардак