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

Божественно кодить можно не только для разных поисковых систем, но и в индустрии видеоигр — и не где-нибудь, а прямо на родине. Если не верите, то компания ZeptoLab, создатель известной во всем мире игры Cut the Rope, дает вам возможность убедиться в этом лично. И да, мы находимся в Москве.

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

Также мы устраиваем чемпионаты по разработке внутри компании, чтобы наши ЗептоПрограммисты могли в свое удовольствие порешать нетривиальные задачки и помериться с коллегами нулями и единицами. Победители получают славу, ценные подарки и именное оружие (шутим, не оружие).

А с недавнего времени в Zeptolab открылась своя алгоритмическая школа, в которой преподает не кто иной, как создатель и руководитель всея Codeforces — Михаил Мирзаянов! Личность в девелоперских кругах немалоизвестная: Михаил уже тренировал команду, которая стала чемпионом мира по программированию, так что можно себе вообразить, какие горизонты развернулись перед разработчиками ZeptoLab и перед компанией в целом. В таком формате Михаил преподает впервые, в России и мире аналогов подобной системы корпоративного образования практически нет.

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

И впервые Зептолаб проводит конкурс по алгоритмической разработке, на базе Codeforces. Вас ждут нетривиальные задания, бескомпромиссная девелоперская борьба и крутые призы:

Ну и чтобы добавить интриги: будет еще один приз:

IPad Mini Retina мы вручим рандомно тому, кто попадет в ТОП-50 победителей конкурса и будет выбран вот так: мы просуммируем времена всех успешных попыток трех победителей (в секундах от начала контеста) и возьмем строчку с номером s % 47 + 4, где s — найденная сумма. Если вычисленная строка будет делить место, то приоритет будет у того, кто сдал последнюю из решенных задач раньше.

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

О том, что такое работать у нас можно почитать тут: http://zeptoteam.ru/.


Заинтересовались работой в ZeptoLab?

Чемпионат будет проводиться в один раунд. Формат соревнования — по правилам Codeforces. Раунд будет рейтинговым и общим для обоих дивизионов.

Дата и время проведения: 13 июня 2014, время: 19:30 — 22:00.

Разбалловка задач: 1000-1000-1500-2500-2500-3000.

Ура-ура! Соревнование завершено! Спасибо всем принявшим участие! Надеемся, что вам понравились задачи. Особые поздравления победителям соревнования:

  • 1 место — KAN (Николай Калинин, Нижний Новгород) — iPad Air
  • 2 место — winger (Владислав Исенбаев, США, Фейсбук) — iPad Mini
  • 3 место — tourist (Геннадий Короткевич, Санкт-Петербург, ИТМО) — iPad Mini

Все участники, занявшие места с 1-го по 30-е получат подарки: замечательного плюшего Ом Нома и сувенирную футболку, а участники с 31-го места по 50-е получат в подарок футболки чемпионата!

Дополнительный приз достается участнику, занявшему 21-е место: package.zaic (Вадим Зайцев, Новосибирск, Новосибирский ГУ).

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

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

Хак — делать все сабмиты в моменты, кратные 50 секундам, чтобы в случае победы получить так же и рандомный приз)

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

И вновь рандомные призы... На этот раз хоть для топов :)

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

Футболки классные, но их мало. :С

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

I think it will be good contest. We will see.

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

А кто автор проблемсета?

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

...

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

What is the degree of difficulty of problems? like codeforces one?

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

"И на сладенькое: у того, кто покажет неплохие результаты по конкурсу, будет возможность устроиться к нам по упрощенной схеме."

"неплохие результаты" об этом можно поподробнее или это для Div1 только?

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

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

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

The contest lasts 2h30. It has how much problems, viktork!

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

Seems very funny :D I like this kind of round.

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

Мои наилучшие пожелания автору который не стал создавать новый логин (фейк), а брутально запостил объявление о приеме на работу для желто-красных со своего зеленого акка :D

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

How will this round be rated (keeping in mind that both divisions can participate)?

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

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

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

А блондиночка ниче такая!

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

I love cut the rope and I will love this contest

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

Oh, Cut the Rope is an interesting game, and I have designed a problem based on the game mechanics in "DJ Box": CandyOnDisk.

I saw the website is in Russian, does it means the working language in ZeptoLab is Russian?

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

Watch it if you want
This video make me download this nice game it's really has a nice character I love it :)

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

Does that mean Top 50 have T-shirt with their name on it? Really awesome! Achieving that result is hard though..

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

Can anyone participate or it's just for Russians?

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

Registration started earlier than expected. :))

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

У меня вопрос. Необходимо ли валидировать входные данные на корректность? Например, в условии написано, что на вход из стандартного ввода подаются 2 целых числа через пробел, нужно ли проверять, что ввели реально 2 числа, а не 2 символа, или подразумевается, что входные данные будут именно такими, как в условии задачи?

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

Lol, I wanted to google "Cut a rope", but instead "cut the rope" I mistakenly typed "cout the rope" :P.

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

Подавать заявку на работу есть смысл только москвичам?

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

How many problems will there be in this contest?

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

Привет коллегам-игроделам!

Миша Лялин был у нас в гостях в бизнес-инкубаторе МГУ :)

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

"The allowed programming languages are C/C++, Pascal, Java, C#, Python, Ruby, PHP, Haskell, Scala, OCaml, Go, D and JavaScript." — and usually Perl is not forbidden! Thanks for early opening of registration and early notification about round.

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

Will there be any indicator of who is the random owner of iPad Mini during the contest?

UPD Damn, I realized what was wrong with my comment 8 months later I posted it O_T By "random" I didn't really mean random but (quoting from the post):

The IPad winner will be chosen like this: we sum up the times of all successful attempts of three top winners (in seconds starting from the start of the contest) and take a row with number s % 47 + 4, where s is the resulting sum.

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

Ждем с нетерпением начала раунда:)

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

Does this contest influence the rating?

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

Рейтинг потечёт из div. 1 в div. 2 или наоборот?

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

Over 4000 people doesn't watch World Cup today

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

When score distribution will be announced?

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

Что там уже насчёт разбалловки?

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

Registration users are 4664 :) lucky palindrome

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

А это разбалловка относительно задач div1 или div2?

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

Не знаю почему, но у меня кнопка "Отослать" не нажимается. Браузер — последний Хром. Отдебагать что происходит — тоже не могу, кто-то добрый override'ит клики правой кнопкой мыши по ней, так что inspect element не работает.

Upd. Разобрался, она была disabled (хотя внешне это незаметно), видимо, disabled не убрался при выборе задачи из-за какого-то race-condition'а в JS (ну или ещё почему).

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

Can two items have the same "H" in Problem A? If yes, can "Om Nom" eat both of them? Or just one of them? Thank you.

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

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

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

Сначала в задаче Б говориться, что поле NxM, а потом оказывается, что N — количество строк, а M — количество столбцов. Тогда уж MxN пишите.

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

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

Очень понравилась задача C. Отличная идея! :)

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

Мощно у Petr D на последней минуте зашла.

UPD: Не, не зашла(

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

Thank you! Contest was fantastic.

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

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

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

    Нет, функция сильно невыпуклая.

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

    Мне кажется дискретные функции редко бывают унимодальными.

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

    Ну мы по факту добавляем на отрезке [0,p] прогрессию [0, , 1, 2 ,p] и надо выбрать максимум в ячейке.

    Ну тогда если мы добавлии 12345 и 12 то получится 24345, что не является выпуклым, т.е тернарник не должен работать

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

    Доход может быть не монотонен от стоимости. Если у нас есть 10к пользователей, готовых платить 1, 1 пользователей, готовый платить 2, 1к пользователей, готовых платить 10к, 1 пользователь, готовый платить 10ккк, то доходы получаются (11002, 2004, 10010000, 10кккк).

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

    Видимо имеешь ввиду задачу F.

    Для тернарного поиска функция должна быть выпуклой. Пример с невыпуклостью придумывается на раз. Например, числа: 5 5 9 10.

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

The little drawings of Om Nom in each problem were really nice and cute :)

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

i don't know why but for almost an hour I thought in problem C you could only use the last sent level!
did anyone else understood the problem in this way ?

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

How was C supposed to be solved?

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

It is nice to see the beautiful pictures in the statement. :)

Seems the hard tasks are all about data struct and the code is long, looks like an OI contest.

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

Can anyone please tell me why this is not a correct solution for C ?

1 3 5 2
ABA
BBB
BBA
BAB
ABB
11
5 0
2 5
1 5
4 2
3 1
»
12 лет назад, скрыть # |
 
Проголосовать: нравится +35 Проголосовать: не нравится

Great problemset... However, so many participants worked out only A, B and C. And among them, they only compete who code faster... Sad story :(

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

Is there going to be an editorial?

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

When will be the editorial available?

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

Wow fast system test!

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

Как решается Е? Я пробовал жадно набрать по относительной стоимости, и, если у нас вышло на 1 больше, чем нужно, выкинуть эту одну лишнюю звезду. Это я пробовал сделать, меняя какой-то уровень с 2 до 1, с 1 до 0, и меняя один уровень с 2 до 0 и проходя другой уровень на 1 звезду. В общем, вы уже поняли, что это не заходит.

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

Наверное меня засмеют, но блин, как нормально решать A? :D

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

I am never able to hack anyone's solution until my own solution for that problem is wrong and I realize that after locking the solution :(

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

Problem A is not clear. I thought after Om Nom eats a candy, it continues hanging on that rope instead of jumping back to the ground :( I lost many precious minutes.

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

А в Е тернарку на декартово специально не пустили?

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

    У меня зашло после избавления от merge/split в самом вложенном месте: 6884993

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

    Объясни, что ты имеешь ввиду. У нас было решение на Java с декартовым деревом.

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

      Понятно, что если мы отсортируем по b — a, то все синглы будут раньше всех даблов. Так же понятно, что если мы знаем, что все даблы мы берем из первых i, а все синглы — из оставшихся, то можно посчитать сколько именно даблов мы берем тернарником

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

        Собственно, это моё решение на Java с декартовым деревом. Не нужен же тернарник. Мы можем бегать по дереву, имея частичные суммы в поддереве. Кажется, это даже проще тернарника. :P И даже такое очень тяжко взлетает.( http://pastebin.com/guuz5qjh

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

          Так ну естественно нужны частные суммы. И как без тернарника обойтись?

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

            А, видимо чуть другое решение.( Я доказал, что после сортировки по b, мы можем перебрать префикс, который мы возьмём точно хотя бы на 1 звезду. А далее нам нужно найти оставшиеся звёзды из b-a с префикса и a на оставшемся суффиксе. Это просто делается декартовым деревом, если ходить в нужное поддерево.

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

Will the problems be available for solving after the contest? Took just a little too long to solve E ={

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

I can't find my mistake in Problem A, please Help

My code

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

I cant submit my code . Please fix it.

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

Congratulation to package.zaic!!! You won an iPad.

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

134-th place expected, 134-th place in the standings!

And fast systest is fast :D

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

Achievement unlocked: failed systest on a problem from Petr Mitrichev Contest :) (problem F)

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

is there any chance of interview from with rank 465

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

Hey! Look at this: http://mirror.codeforces.com/profile/worse

He/She is trying to be the worst in every contest! So He/She solve a problem, and hack solutions with easy testcases!

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

In problem E, is the correct solution to split the levels into two groups, where b>a*2, and b<=a*2, and choose how many stars to get from each group (since for both groups it is possible to find the answer in O(1))?

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

    I had something completely different in mind: sort the levels by 1-star cost; if we pick the rightmost (i-th) level with 1 star, all levels to its left must be either solved for 1 or 2 stars (otherwise, we have a better solution). Then, if we picked the number K of 2-star levels to its right, then we know how many to its left need to have 2 (or that it's not possible). It's clear that we pick the cheapest ones (by bi to its right, by bi - ai to its left) then. The cost of this first increases and then decreases as we increase K, because what we add levels with larger bi and remove levels with smaller bi - ai. Now, we iterate over all i from left to right, the sets that we should pick don't change much with each iteration, so we just need set<>s to simulate it. I'm getting TLEs and other fails, though, so maybe it has a loophole... but it's hard to code, anyway.

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

      My idea was that if for all levels we have b>a*2, then we can make a list of a and b-a for all levels and sort it. If the optimal solution includes b-a, then it must also include a. If for all levels we have b<=a*2, then the optimal solution can have at most one level with 1 star, all others must have 2 stars.

      So we split all levels into these two categories, precompute partial sums as required, and choose how many stars we want to get from each category (obviously, the optimal answer gets exactly w stars).

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

А как решалась D?

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

I would like to thank dreamoon_love_AA for sharing the 51st place with me. It is comforting to know you are not the only one who is the first to win no material prize.

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

Have result ?

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

please update the ratings soon:)

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

I got the logic for C but couldn't figure out how to print operations in order. When i figured it out there was only 1 min left. Bad luck :(. Anyways when will the problems be available for practice.

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

fix it -_-

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

Задачи-то можно будет дорешать?

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

How can I resubmit my solution ?!

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

editorial and rating are wanted!!!

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

Since I have made it to top 50, what does "name-encrusted weapon" means? Itching to get that :P

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

In problem A, many people got WA on 37th test case and me too. Can someone tell me the trap of this test case? Thanks!

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

В задаче А, что за коварный 37-й тест?

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

Mine failed on 36th :(

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

а разбор будет? или как решать С?

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

    Строим минимальное остовное дерево. При этом рёбра, которые выйдут тяжелее, чем n*m удаляем. В итоге получим лес деревьев. Для каждого дерева выбираем корневой элемент и тратим на него n*m ресурсов, оставшиеся создаём обходом в глубину по рёбрам, в которые переходим.

    P.S. Реализацию можно существенно упростить, если не рвать рёбра явно, а просто ставить им вес n*m. Тогда получим одно единственное дерево, которое и обработаем.

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

      Реализацию можно еще упростить, если добавить фиктивную вершину 0, из которой есть ребра веса n*m во все остальные вершины, и построить каркас в полученном графе. Тогда после построения каркаса достаточно ориентировать его одним DFS'ом из вершины 0.

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

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

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

        А если еще и запустить алгоритм Прима из вершины 0, то при построении каркаса как раз и получим эту ориентацию.

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

        Блин, я и забыл, что у нас полный граф и выгоднее использовать Прима)

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

      большое спасибо, но к сожалению, я еще не готов к решению таким решениям...

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

waiting DmitriyH' statistics :)

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

I just learned that (a maximization version of) E is known from a Polish middle-school OI :) And, if you're Polish, here's a link to a video editorial of it: https://www.youtube.com/watch?v=hhrLaokKBtk

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

Is there any way to see div2 only ranks?

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

У меня по E зашло следующее:

Будем набирать звездочки по одной. Каждый раз смотрим 2 варианта, из них берем самый выгодный: 1) Просто повышаем какой-нибудь уровень на одну звезду. 2) Находим уровень, на котором последняя собранная звезда была самой дорогой, убираем эту звезду, а вместо этого находим какой-то уровень, который мы можем апнуть сразу на 2.

Все это решается с помощью priority_queue(или, может, сетов). Кто-нибудь может пояснить, почему это должно проходить???

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

    Ну как — рассмотрим оптимальные решения для w и для w+1, и вычтем первое из второго.

    Получится для каждого типа число от -2 до +2, в сумме дающие +1. Заметим, что можно считать, что например +1 и -1 одновременно быть не может в наборе — если бы были, то либо эти два изменения в сумме положительны, и тогда их можно применить к ответу для w, а значит он был неоптимальный, либо они в сумме неположительны, а тогда их можно убрать из ответа для w+1 и хуже не станет. Аналогично, можно считать, что +2 и -2 одновременно не бывают, и что +2,-1,-1 одновременно не бывают, и что -2,+1,+1 одновременно не бывают.

    Но какой-то плюс должен быть, ведь в сумме 1. Если это +1, то ничего больше нет, потому что -1 запрещены, а -2 потребует ещё двух +1, что тоже запрещено. А если это +2, то должен быть ещё -1 и больше ничего.

    Итого всего два варианта +1 или +2,-1.

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

In problem A test 5, how the answer is 2? Why it is not 7?

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

Finally I'm RED!!!! After failed on TopCoder SRM 624 because of stupid MOD issue :'(

Anyway, thanks for the amazing round. I will remember this round forever :)

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

Спасибо за раунд, задачи и красивые рисунки в условиях! :)
Почаще бы такие DIV-смешанные раунды..

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

    В таких смешанных раундах хотелось бы видеть какой-то более сбалансированный набор задач. Даже первая задача — для значительной части div2 слишком тяжелая. Это судя по таблице и числу нолей по этой задаче; а я знаю нескольких людей, которые открыли задачи, усердно пытались решить хоть что-то, но в результате ничего не придумали, и в таблице их даже нету. Переход от третьей к четвертой — скачкообразный. Было бы лучше, если бы четвертую по сложности задачу решило 150-200 людей. ИМХО можно было даже вставить что-то "промежуточное" дополнительно четвертой задачей в этот проблемсет, на 2.5 часов и 7 задач дать не страшно.

    Я не смотрел на рисунки во время раунда, пойду хоть сейчас оценю их)

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

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

      особенно с учетом

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

      в результате больше 2-х задач решило 600 человек, а больше 3-х — 50. Как говорила принцесса Лейя, "что именно тут неплохо?" :)

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

How amazing it is! viktork became 21th top-contributor because of only one blog. Most positive blog ever.

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

В тесте задачи Е:

5 3 10 20 5 10 10 20 6 9 25 30

Почему 01000 не может быть ответом? Ведь игрок набрал достаточное кол-во звезд (5>3). Объясните пожалуйста.

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

    В вашем ответе игрок набрал только одну звезду. Каждый уровень характеризуется двумя целыми числами: ai — сколько требуется времени, чтобы пройти уровень на одну звезду, bi — сколько требуется времени, чтобы пройти уровень на две звезды (ai < bi).

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

Господа участники! Всем еще раз спасибо за эту схватку, было захватывающе) Отдельное поздравление победителям — ваши призы в ближайшем времени будут собраны в кучу и отправлены по адресам :) Сейчас мы собираем данные по размерам ваших футболок, дабы всем все было в пору.