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

Автор MikeMirzayanov, 14 лет назад, По-русски
Всем привет!

Добро пожаловать на раунд "Codeforces Beta Round #40 (Div. 2)". Пусть за окном хмуро и пасмурно (во всяком случае в Саратове), а раунд начался с недоступности сервера (просим прощения за fail), но надеюсь решение задач принесет вам удовольствие.

Высокого вам рейтинга,
MikeMirzayanov
  • Проголосовать: нравится
  • +8
  • Проголосовать: не нравится

14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
how can I know the number of the problem which my friends have solve?
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Что там за 5 тест в таске С никак непойму врод же нет частных случаев.
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Что-то у меня ошибка компиляции, хотя на компе все нормально
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    На странице с посылками есть ссылка на протокол компиляции.
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
А претест 2 к задаче B - тот, что в условии?
14 лет назад, # |
  Проголосовать: нравится +7 Проголосовать: не нравится
Thanks for the really nice problems.
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
почему я не могу взламывать чужие решения?(хотя я заблокировала свою) 
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Есть кто-нибудь??? скоро контест закончится(((
    • 14 лет назад, # ^ |
        Проголосовать: нравится +12 Проголосовать: не нравится
      Так а в чем именно проблема? Они не открываются, не взламываются, выкидывают ошибку, или что-нибудь ещё?
      • 14 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        Они не открывались...  Спасибо за помощь, но я уже поняла в чем проблема, оказывается я могу взламывать участников только из моей комнаты, т.е. №101* ))
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Можно 4ый претест к задаче D?
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

задачи клёвые.

плохо что я такой невнимательный и читаю условие через слово.

14 лет назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится
Всех с окончанием контеста, good luck in the future
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Можно третий претест к задаче E?
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

I think there will be many pepele died in problem B.

14 лет назад, # |
Rev. 4   Проголосовать: нравится 0 Проголосовать: не нравится
Looks like a lot of people misread problem B and thought that you could sell as much as you wanted.

(bug: commenting seems to not work (comment is blank) from chromium?)
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
кто нибудь скажите плиз 3 претест в задаче Е там случайно не 5 было?
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Can there be more than one word in problem A. I got my solution hacked but still cannot understand the reason
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Пятая задача классная. Решение в несколько строчек)
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    объясни плиз решение задачи Е


    • 14 лет назад, # ^ |
      Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится
      Решение основано на факте, что в двудольном графе нет циклов нечётной длины.
      Рассмотрим искомый граф: возможно он содержит циклы нечётной длины но длина больше трёх. Но тогда из каждого такого цикла можно сделать цикл чётный, заменив одно из рёбер например произвольное ребро цикла i<->i+1 на i<->i+2.
      i<->i+2 - этого ребра раньше быть не могло, т.к. тогда бы был цикл длины 3.
      Итого у нас получился двудольный граф, максимум рёбер которого достигается при делении на части величины N/2 и N-N/2 (можно доказать с помощью производной)
      Ну а соединить можно просто все рёбра с 1 по N/2 с рёбрами с N/2+1 до N
      • 14 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        Не все так просто, при такой замене мог появиться треугольник.
        • 14 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится
          Нет, не мог, т.к. мы рассматриваем цикл нечётной длины в котором не менее 5 рёбер. Соответственно меньше четырёхугольника у нас получится не может. Тем более треугольник - это цикл нечётной длины, а мы получаем обязательно чётной
          • 14 лет назад, # ^ |
              Проголосовать: нравится +3 Проголосовать: не нравится
            Мы проводим новое ребро i<->i+2, откуда следует что нет вершины j (может, даже не из цикла), соединенной с этими обеими вершинами?
            • 14 лет назад, # ^ |
                Проголосовать: нравится 0 Проголосовать: не нравится
              Да, всё таки вы оказались правы. Прошу прощения за кривое доказательство.
      • 14 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        В первой строчке у вас опечатка. В двудольном графе нет циклов нечетной длины.
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Скажите пожалуйста 11 тест к задаче B.
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
How is the Rating calculated? what about the colors (sergeant,lieutenant,etc) ?
14 лет назад, # |
Rev. 3   Проголосовать: нравится +1 Проголосовать: не нравится
what is D   test 5?
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
толпа жаждит разборов задач, интересно, как же всё-таки проще всего решить последние две задачки :)
  • 14 лет назад, # ^ |
      Проголосовать: нравится +2 Проголосовать: не нравится
    Читай решения лидеров - там все довольно ясно.
    D - стандартная динамика, E - задача-шутка, судя по ее стоимости и длине решения.
    • 14 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      ага. уже просмотрел решения.
      действительно последняя задачка в пару строку или в одну(на руби ил питоне) :)
      • 14 лет назад, # ^ |
          Проголосовать: нравится +3 Проголосовать: не нравится
        Скажите, а можно смотреть решения других уже после контеста?
        Не в статусе дорешки, а именно с контестов?)
        • 14 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится
          Можно, правда есть тут особенности кое-какие, если хочешь посмотреть отправку определенного участника.
          • 14 лет назад, # ^ |
              Проголосовать: нравится +3 Проголосовать: не нравится
            А посвятите девушку;)
            • 14 лет назад, # ^ |
                Проголосовать: нравится 0 Проголосовать: не нравится
              Где-то подобный вопрос уже поднимался. Сейчас постараюсь откопать.
              Правда, есть вероятность, что код определенного участника всё-таки не удастся просмотреть.
              • 14 лет назад, # ^ |
                  Проголосовать: нравится +3 Проголосовать: не нравится
                Спасибо огромное!)
                • 14 лет назад, # ^ |
                    Проголосовать: нравится 0 Проголосовать: не нравится
                  :( не откопал... поиска по блогам нет, а листать в ручную - адская работа...
                  • 14 лет назад, # ^ |
                      Проголосовать: нравится +4 Проголосовать: не нравится
                    Поиск по блогам достаточно успешно можно заменить волшебным воззванием к Google: "site:codeforces.ru <текст запроса>" :)
                • 14 лет назад, # ^ |
                    Проголосовать: нравится 0 Проголосовать: не нравится
                  Гхм... Ввели девушку в заблуждение...
                  В меню контеста, справа от названия задачи есть число x123 - количество участников, решивших задачу. Кликнув на ссылочку, получаем неполный список решивших задачу во время контеста. Кликнув на номер решения, как и в дорешке, открывается код.
                  Мне неясно, почему нет таблицы со всеми результатами, а только 50 первых, в зависимости от сортировки, но думаю можно найти парочку подходящих решений)
                  • 14 лет назад, # ^ |
                      Проголосовать: нравится 0 Проголосовать: не нравится
                    я имел ввиду тот случай, когда необходимо найти отправку определенного человека, а это бывает сделать очень трудно, когда успешно отправленных посылок было много.

                    стоило бы уже давненько ввести возможность поиска по пользователю его посылок.
                    • 14 лет назад, # ^ |
                        Проголосовать: нравится 0 Проголосовать: не нравится
                      Стоило бы.
                      Но внимательное чтение вопроса говорит нам о том, что девушке требуется просто посмотреть хоть какое-нибудь решение задачи участником контеста.
14 лет назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится
кто знает какой ответ в задаче Е на тестах  5,7,9.
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    вот тебе ответы на 5 и 7
    6
    1 2
    1 4
    2 3
    2 5
    3 4
    4 5

    12
    1 2
    1 4
    1 6
    2 3
    2 5
    2 7
    3 4
    3 6
    4 5
    4 7
    5 6
    6 7

    • 14 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      спасибо. Я понял как решать эту задачу.Тут просто надо двудольный граф построить и всё
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    хотя блин..
    лень было на листочке разобрать?!
14 лет назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится
Есть пожелание к организаторам. Можно присылать уведомительное письмо об очередном раунде CodeForces пораньше? Например, за 36 часов. Потому что если оно приходит поздно вечером накануне, то, бывает, забываешь проверить почту вечером и пропускаешь в итоге раунд.
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    припишу сюда пожелание, т.к. не знаю куда еще его пихать: добавьте возможность при редактировании поста сменить и его язык.
    сейчас вот с такой фигней столкнулся: написал коммент в английском блоге, а пост-то был в русском... а даубл постингом заниматься не хочется - захламляет думаю.
14 лет назад, # |
  Проголосовать: нравится +5 Проголосовать: не нравится
Can somebody prove the solution of E?
  • 14 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится +5 Проголосовать: не нравится
    Для доказательства корректности решения, нужно доказать теорему, что в любом графе из N вершин, не содержащем циклов длины три, не более N^2 / 4 ребер.
    Будем доказывать по индукции, отдельно для четных и нечетных случаев N. Рассмотрим четный случай. Пусть мы доказали для всех N <= 2 * k. Докажем для 2 * k + 2. G - граф, из 2 * k + 2 вершин, не содержащий треугольников. Рассмотрим пару смежных вершин u и v, она существует. Удалим эти вершины из графа, останется граф из 2 * k вершин, не содержащий циклов длины три. По предположению индукции в нем максимальное количество ребер это k^2. Теперь нужно посчитать, сколько ребер могут соединять вершины нового графа с v и u, так чтобы не образовались циклы длины три. Вершины, к которой соединены и v, и u не существует, иначе в графе G был бы цикл длины три. Значит если v имеет t смежных вершин, то u не более чем 2 * k - t. Посчитаем количество ребер: k^2 + (2 * k - t) + t + 1 = (2 * k + 2) ^ 2 / 4. Точно так же можно доказать для нечетных. Ну а примером такого графа является полный двудольный из N / 2 и N - N / 2 вершин в каждой доле.
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Какой там 5 претест в задаче D?
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Напишите кто-нибудь пожалуйста тест 56 в задаче B
14 лет назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится

admins answer my questions fast during contest , thanks for that.

14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Люди, а подскажите, что означает "успешный взлом"
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
И с чем его едят!?
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    его едят вроде с +50 очками дополнительными в соусе с основными баллами за задачи.
    • 14 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      за успешный взлом полагается 100 баллов, а за неудачный отнимут 50
14 лет назад, # |
Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится
Проблема с задачей В. Не проходит по времени на 8 тесте
http://paste.ubuntu.com/528335/
  • 14 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится
    не по времени, а Runtime Error, ошибка времени исполнения.
    Наверное делишь на ноль когда n = 1.
    А ещё не факт что надо брать минимальную разность цен, надо попробовать все варианты и хранить максимум полученых бурлей.
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Расскажите как решалась задача D. Зараннее спасибо!
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Динамика по следующим параметрам: текущая клетка, текущий остаток от деления ответа на (k+1).
14 лет назад, # |
Rev. 4   Проголосовать: нравится 0 Проголосовать: не нравится
Здравствуйте.
У меня вопрос к создателям задачи В. Что означает строчка "Он может не более одного раза за n дней купить сколько-то долларов, а потом их продать."? В моей программе до этого не допускалось, чтобы Вася купил несколько раз 5 долларов или продал несколько раз 4 доллара (не подумайте, что я обрабатывала только 4 и 5, это пример). Меня взломали тестом 
Input:
4 100
2 100 2 100
Так что же означает эта строчка в условии?
Я переписала задачу, теперь же меня валит тест (взят из списка успешных взломов)
5 10
10 5 7 1 3
мой ответ 42, верный же ответ 30. В условии написано 
"Выведите одно число — какую наибольшую сумму денег в бурлях Вася может получить к концу n-го дня."
Так чем же 42 хуже 30? 
Мне кажется, что я неправильно понимаю условие. Не могли бы вы мне пояснить:
а) значение вышеупомянутой строчки
б) как же получается 30 во втором примере.
Я получаю 42 по алгоритму:
Продадим 10 бурлей по цене 5.
Теперь у нас 0 бурлей, 2 доллара.
Купим 14 бурлей (2 доллара по цене 7).
Теперь у нас 14 бурлей, 0 долларов.
Далее продаем 14 бурлей по цене 1.
Теперь у нас 0 бурлей, 14 долларов.
Продаем 14 бурлей по цене 3
Ответ - 42.
Помогите мне, пожалуйста, довести задачу до ума.
  • 14 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится
    мы можем только один раз купить k бурлей и один раз продать j долларов.
    причем день продажи j долларов должен быть больше либо равен дню купли долларов.
    • 14 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Спасибо
      • 14 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        пожалуйста :)
        • 14 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится
          Извините, а почему тогда
          тест 
          4 100
          2 100 2 100

          Дает ответ 5000, а не 250000?
          Ведь мы покупаем 50 долларов по цене 2, продаем 50 долларов по цене 100, продаем 5000 бурлей , получаем 2500 долларов и продаем доллары по цене 100, получаем ответ 250000.
          Как можно заметить мы ни разу не продали k бурлей больше одного раза(мы продали 100 и 5000), да и доллары не всегда были в разном количестве (50 и 2500). Только цены совпадали. Почему так?
          • 14 лет назад, # ^ |
            Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

            "Он может не более одного раза за n дней купить сколько-то долларов, а потом их продать."
            То есть можно совершить не более 1 акта покупки и 1 акта продажи за все n дней.

14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
what is the idea for solving problem E??
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Can you give the test 3 of the problem D? I  get  PE,I'm confused!
14 лет назад, # |
Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится
Hello. Does anyone know a good article(in english) about using envelopes in dynamic programming? I would really need one.
Thx
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
hi
please help me.
in B,What is mean bourles?
and
in C,what is pretest 5?
thanks
14 лет назад, # |
Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится
Не знаю оговаривалось ли - это где-то раньше или это у меня одного(но врятли).
Так вот почти у многих юзеров(а может и у всех, я всех не пересматривал:)), кто участвовал на Codeforces BR#40 в табличке контестов показано что они участвовал в 41 раунде хотя его даже судя по расписанию не было, это что баг или что?) у кого еще такое?
А у не которых написано, что они и в 40 участвовали и в 41.