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

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

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

Good luck and have fun!

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

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

15 лет назад, скрыть # |
 
Проголосовать: нравится -25 Проголосовать: не нравится
Кому-нибудь футболки дошли?
  • 15 лет назад, скрыть # ^ |
     
    Проголосовать: нравится +2 Проголосовать: не нравится
    Их завтра еще только отсылают
  • 15 лет назад, скрыть # ^ |
     
    Проголосовать: нравится 0 Проголосовать: не нравится
    Я-то подумал - на фиг мне такая футболка? А тут барышня моя говорит - так ты напиши вместо XL размера M или S - я сама носить буду... Пришлось поучаствовать и требуемый размер написать... ;-)

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

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

      P.S не знаю будет ли он ее носить, когда увидит)
    • 15 лет назад, скрыть # ^ |
       
      Проголосовать: нравится +24 Проголосовать: не нравится
      А у меня это первая выигранная футболка, барышне ни в коем случае не отдам :)
    • 15 лет назад, скрыть # ^ |
       
      Проголосовать: нравится +52 Проголосовать: не нравится
      А у меня невеста сама себе выиграла =P
      • 15 лет назад, скрыть # ^ |
         
        Проголосовать: нравится +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.
      • 15 лет назад, скрыть # ^ |
         
        Проголосовать: нравится +15 Проголосовать: не нравится
        О как, я своей поставлю такое условие: "женюсь когда выиграешь футболку" :)
        • 15 лет назад, скрыть # ^ |
           
          Проголосовать: нравится 0 Проголосовать: не нравится
          Хм... Моя жена говорит что ни в коем случае не хотела бы выйти замуж за музыканта...

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

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

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

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

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

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

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

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

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

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

                • 15 лет назад, скрыть # ^ |
                   
                  Проголосовать: нравится +8 Проголосовать: не нравится
                  ===========================
                  Ну конечно же я говорю не о контестах и рейтингах, для семейной жизни это как раз не так важно. Самые счастливые семьи - такие, где каждый думает прежде о супруге, а не о себе. Отсюда и "что я могу дать будущему мужу/жене" вместо "каким критериям должен соответствовать будущий супруг, чтобы угодить мне".
      • 15 лет назад, скрыть # ^ |
         
        Проголосовать: нравится 0 Проголосовать: не нравится
        А моя на скрипке играет - в этой отрасли футболки пока не дают...

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

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

    Всё же надеюсь что как можно больше из прошедших в отбор смогут принять участие... Чтоб дух соревнования витал... %)
    • 15 лет назад, скрыть # ^ |
       
      Проголосовать: нравится -6 Проголосовать: не нравится
      Андрей имел в виду, что у студентов сессия. Вот, например, у меня послезавтра экзамен. 
      • 15 лет назад, скрыть # ^ |
         
        Проголосовать: нравится +23 Проголосовать: не нравится
        а у меня завтра экзамен, прямо во время раунда. но я отпросился =)
      • 15 лет назад, скрыть # ^ |
         
        Проголосовать: нравится 0 Проголосовать: не нравится
        М-да... Как дважды студент и как репетитор, отлично вас понимаю. Когда забрал бакалаврский диплом из института, с огромным удивлением осознал что больше не надо с ужасом думать как бы вовремя написать курсовики, дипломы и сдать зачёты/экзамены...

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

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

cout << p[k] << "\n";       // WA 2
printf("%.12f\n", p[k]);     // Accepted
15 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
Вот так вот, да...
15 лет назад, скрыть # |
 
Проголосовать: нравится +8 Проголосовать: не нравится
Если я нигде не обсчитался, то можно уже поздравить e-maxx с досрочной победой.
15 лет назад, скрыть # |
 
Проголосовать: нравится +1 Проголосовать: не нравится

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    • 15 лет назад, скрыть # ^ |
       
      Проголосовать: нравится 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() настолько не случаен...
      • 15 лет назад, скрыть # ^ |
         
        Проголосовать: нравится 0 Проголосовать: не нравится
        Правильно ли вы понимаете условие задачи? Если мы хоть раз прошли между k и k+1 островом (неважно, падали, или нет), мы больше никогда не ошибемся при выборе моста.
        • 15 лет назад, скрыть # ^ |
           
          Проголосовать: нравится 0 Проголосовать: не нравится
          АРГХ, я прочитал неправильно.
        • 15 лет назад, скрыть # ^ |
           
          Проголосовать: нравится 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);
          • 15 лет назад, скрыть # ^ |
             
            Проголосовать: нравится 0 Проголосовать: не нравится
            Хм, у меня с неправильно прочитанным условием были такие же результаты.
          • 15 лет назад, скрыть # ^ |
             
            Проголосовать: нравится 0 Проголосовать: не нравится
            else if (rand()&1) t+=1., sta[b]=true;
            • 15 лет назад, скрыть # ^ |
               
              Проголосовать: нравится 0 Проголосовать: не нравится
              Плин, понял где я неверно понял условие. Если он проходит по мосту и он не разваливается, то он уже знает, что по нему всегда можно ходить.

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

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

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

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

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

        А вот задач именно на какие-то вероятностные фокусы, нюансы, парадоксы, распределения, вариации - ни разу...
      • 15 лет назад, скрыть # ^ |
         
        Проголосовать: нравится 0 Проголосовать: не нравится
        Я кстати абсолютно согласен с тем что эта задачка была тяжела для понимания. Только с третьего раза получилось прочитать. Добавили бы хотя бы еще один семпл...
15 лет назад, скрыть # |
 
Проголосовать: нравится +3 Проголосовать: не нравится
Блин надо было на контесте напереться на баг в компиляторе. Жесть просто. Но вроде и так прошёл.
15 лет назад, скрыть # |
 
Проголосовать: нравится +2 Проголосовать: не нравится
Как решалась Е ?
  • 15 лет назад, скрыть # ^ |
     
    Проголосовать: нравится +3 Проголосовать: не нравится
    Бектрекингом с отсечением что если мы даже максимальной суммой хотя бы такое число уже не сможем набить, то дальше смотреть не надо
  • 15 лет назад, скрыть # ^ |
     
    Проголосовать: нравится 0 Проголосовать: не нравится
    я написал динамику за O(K^3*log(N)) :)
    dp[i][j][t] - минимальное кол-во слагаемых состоящих из j единичек, чтобы получить число составленное из старших i цифр числа N минус t. t - фактически это перенос с младших разрядов.
  • 15 лет назад, скрыть # ^ |
    Rev. 2  
    Проголосовать: нравится 0 Проголосовать: не нравится

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


15 лет назад, скрыть # |
 
Проголосовать: нравится -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
  • 15 лет назад, скрыть # ^ |
     
    Проголосовать: нравится +1 Проголосовать: не нравится
    В теории можно. На практике - вряд ли пройдет. Да и писать его менее приятно чем ту же динамику, не говоря уже о переборе.
15 лет назад, скрыть # |
 
Проголосовать: нравится +26 Проголосовать: не нравится
А среди 50 участников есть те, кто не поедет на финал? :)
15 лет назад, скрыть # |
 
Проголосовать: нравится +13 Проголосовать: не нравится
Даааа, после 2 недель в больнице прямо чувствуется, как мох в голове растёт :) Ну, хотя бы 3 задачки осилила :)

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

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

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

    Не так надо.

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

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

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

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

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

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

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