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

Автор daftcoder, 13 лет назад, По-русски
Задача 1. Кораблекрушение.
Задача имеет множество решений, но расскажу самое простое, которое видел.
Заводим структуру {строка,число} (pair<string,int> в С++), считываем данные в неё, преобразовывая ранк в приоритет. А дальше необходимое число раз, равное количеству приоритетов (у нас - 4), бежим по этому массиву и выводим те имена, которые имеют нужный сейчас приоритет.
Те участники, у которых задача получала неверный ответ на тесте 8, скорее всего не учитывали индексы в сортировке, т.е. использовал просто sort по рангу, вместо учитывания и индекса, либо вместо stable_sort.

Задача 2. Тренировки у поселенцев.
Заведем массив A размером k+1, где Ai - это число поселенцев с званием i. Далее пока не все поселенцы получили звание k (A[k] не равно n), моделируем процесс обучения и затем выводим количество монет.
Надо лишь не ошибиться, в том, чтобы обходить массив слева направо, хотя тест 2 из условия не дает нам совершить эту потенциальную ошибку.

Задача 3. Быки и коровы.
Заводим массив на 10000 элементов, помечаем все возможные в игре числа единицами. Дальше отсеиваем эти числа по входящим правилам, т.е. помечаем нулями оставшиеся числа из массива, при сравнении которых с ai не получается bi и ci быков и коров.
В итоге если помеченным числом будет только одно - выводим его, если несколько - недостаточно информации, если ни одного - данные некорректны.
Так же при выводе числа, необходимо не забыть про лидирующий ноль, если он необходим!

Задача 4. Раздел острова.
Основная сложность - сделать области связными.
Можно решить эту проблему так: заполняем наш остров змейкой, которая движется по столбцу вверх-вниз и меняет столбик при его заполнении. Начальная координата, либо (1,1) если A четно или B = 1, либо (B,1) если A нечетно и B > 1.
Разбор задач Codeforces Beta Round 59 (Div. 2)
  • Проголосовать: нравится
  • 0
  • Проголосовать: не нравится

13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
 Так вот как С решается) а то у меня мозг кипеть начал) Спасибо, отличный раунд!
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Все так и решал) Только 4 не успел реализовать.

А как пятая решается?

13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Решил все точно так же как в разборе. Нлавное чтобы с реализацией не напортачил.
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Напортачил, принял a+c<=50, а там же <=100. Вот и пролетел как фонера над Парижем.

    P.S. Очень обидно.

    • 13 лет назад, # ^ |
        Проголосовать: нравится -7 Проголосовать: не нравится
      Обидно на онсайте (или отборе на онсайт), а тут - опыт. :)
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
интересно : 
5ая проходит ретроспективным анализом ? там вроде самое сложное(громоздкое)-построить граф и степени вершин ...
13 лет назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится
Это надо было умудриться. Сдать все, кроме С. Причем по С даже не писал ничего. :))
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Что ж, бывает) А идеи по C были какие-нибудь?
    • 13 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Были. Не догнал как определять однозначный ответ. :)
      • 13 лет назад, # ^ |
        Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится
        Нам B&C год назад в универе рассказывали вроде бы как одну задачу из DP, но рассказывали более сложное: как оптимально играть - какие числа спрашивать.
        • 13 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится
          Да тут всё просто. Это я прогнал жестка.)
          • 13 лет назад, # ^ |
              Проголосовать: нравится 0 Проголосовать: не нравится
            Главное динамику увидел и сдал торт выиграл, наверное он будет повкуснее говядины. :-)
            • 13 лет назад, # ^ |
                Проголосовать: нравится 0 Проголосовать: не нравится
              Так в условии ведь сказано. 19 вершин - пиши динамику. :)
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Странно, C сделал именно так, но моё решение взломали.
Код
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
     then
      writeln(y)

    А как насчет числа 0123 например? :-) Ноль нужно выводить .
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
совсем непонимаю, почему 9999 не подходит к тесту
4
4789 1 0
7189 1 0
7829 1 0
7893 1 0
  • 13 лет назад, # ^ |
      Проголосовать: нравится +3 Проголосовать: не нравится
    потому что все цифры разные по условию
    • 13 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      да, для многих это было прициной не сдать эту задачу, даже для вас)

      • 13 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        Да уж, читать условия не научусь видимо никогда)
13 лет назад, # |
  Проголосовать: нравится +4 Проголосовать: не нравится
Я вот смотрю и понять не могу... Зачем делать разбор части контеста? Не смог решить все задачи - не делай разбор. Задачи были и так проще некуда. Ладно там, если набажил и потом в дорешке сдал, но решил! Но когда тупо нет разбора не самой сложной задачи это смотрится как-то глупо. 
Теперь, когда есть авторский разбор (надо сказать очень хорошего качества) эта тема вообще не имеет смысла.
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Тема имеет смысл, так как у автора пока нет перевода на англ. язык, а у меня - готовится. (Когда у автора появится перевод на англ. язык - да, возможно пропадёт.)

    «Задачи были и так проще некуда.»
    Сильно не ошибусь, если скажу, что во втором дивизионе места 67-383 решили не больше 2 задач.

    За сим прекращаю отвечать на этот троллинг меня.)
    • 13 лет назад, # ^ |
        Проголосовать: нравится +10 Проголосовать: не нравится
      Не хочу продолжать холивор, но, по-моему, этот "разбор" для начала не мешало бы на русский перевести:
      "... хотя тест 2 из условия эту потенциальную ошибку ..."
      "... Я решил эту проблема так ..."
      В разборе вообще не должно быть слова "Я". Да и вообще это отписка, а не разбор. Удивительно, что одним предложением на все задачи не обошелся.
  • 13 лет назад, # ^ |
      Проголосовать: нравится +8 Проголосовать: не нравится
    В чем-то ты прав. Но с другой стороны:
    1. лучше 2 разбора, чем вообще ни одного. 
    2. несколько разных идей на одну задачу лучше, чем одна или вообще ни одной.
    К тому же писать хорошие разборы - это не задачки решать - уметь надо. :) Лично у меня проблемы возникают порою на словах объяснить своё решение. 

    Написал разбор - прокачал свой скилл, да и сообществу помог. Не думаю, что кому-то стало от этого хуже. :)
    • 13 лет назад, # ^ |
        Проголосовать: нравится +9 Проголосовать: не нравится
      Спору нет, разбор - дело крайне хорошее. Но гораздо приятнее, когда разбор написан хотя бы более менее подробный и читаемый. Очень важно, чтобы разбирались все задачи. А разборы вроде "A - халява, решалась в лоб. B - перебор, главное не ошибиться. Остальные не решил, они сложные." - это не разборы. Даже если сказать по задаче особо нечего, можно пояснить какие-то тонкости наиболее короткой реализации или какие тесты могли бы быть полезны при тестировании подобного решения. Ну не решил кто-то задачу на контесте, а хочет сделать разбор. Так можно сесть, посмотреть чужие коды, понять решение, сдать его. А потом написать полный и хороший разбор. Предварительно можно посмотреть нет ли уже готовых разборов. Чтобы разбор не стал бесполезным, туда можно добавить что-то, чего нет в других разборах (только не готовый код, его и так можно посмотреть).
      • 13 лет назад, # ^ |
          Проголосовать: нравится +3 Проголосовать: не нравится
        Согласен со всем. Надеюсь, Максим учтёт замечания. 
      • 13 лет назад, # ^ |
        Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится
        1) Разобрал 80% задач. И простой разбор был написан лишь по второй задаче, так как там действительно нужно было сделать именно то, что от нас хотели. Хотя не совсем... Спасибо, сейчас поправлю.

        2) Даже если сказать по задаче особо нечего, можно пояснить какие-то тонкости наиболее короткой реализации или какие тесты могли бы быть полезны при тестировании подобного решения.
        Что-то нигде в последнее время в разборах такого не видел.

        3)
        Ну не решил кто-то задачу на контесте, а хочет сделать разбор. Так можно сесть, посмотреть чужие коды, понять решение, сдать его. А потом написать полный и хороший разбор.
        Согласен, но можно во время контеста написать рабзор решенных задач, после окончания контеста понять как решаются остальные задачи и тогда уже дописать их.

        4)
        Предварительно можно посмотреть нет ли уже готовых разборов.
        Представьте себе, посмотрел, и их не было.

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

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

            Подозреваю, что некоторые участники хотят узнать решения задач вот Сразу после конца соревнования, так как идей нет никаких и появляться они не хотят.

            А будет авторский разбор или нет, кто ж знает? Неужели все контесты имеют разбор? Сомневаюсь.
  • 13 лет назад, # ^ |
      Проголосовать: нравится +3 Проголосовать: не нравится
    Ты далеко не единственный, кому этот разбор не открыл ничего нового, но ты единственный, кто вставил свои "5". Я думаю, хватает людей кому и 3 разных разбора будут не лишние...
    • 13 лет назад, # ^ |
        Проголосовать: нравится +15 Проголосовать: не нравится
      Свои, как ты говоришь "5", могу вставлять без спроса на это разрешения у кого-либо. Не вижу причин не делать этого. Я делаю это в рамках приличия и без агрессии, не нарушая правил сайта и этических норм (я так думаю...).
      А в остальном... Если бы этот "разбор" имел хотя бы что-то, что делает его хотя бы в чем-то лучше авторского (который был тщательно подготовлен в отличие от этого "разбора") я бы пожалуй согласился. Я считаю, что этот пост - очередное кармо*@#ерство. Просто попытка набить показатель, который (как можно было уже давно заметить) так важен автору.
      • 13 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        И где это можно было давно заметить?
      • 13 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        Те, кто видел в разборе корыстную цель автора, видят её и без тебя. Ты же, кроме различных споров, своими высказываниями ничего не сделал. Кому от этого стало лучше? Тебя можно понять, не спорю, но как показывает практика - холивара пользы мало.
        • 13 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится
          Не, на самом деле сделал.
          Были убраны все "Я" из разбора и дополнено решение второй задачи, а ещё разбор был частично переведён на русский язык.
          • 13 лет назад, # ^ |
              Проголосовать: нравится 0 Проголосовать: не нравится
            "а ещё разбор был частично переведён на русский язык"
             :D
            беру свои слова обратно:)
      • 13 лет назад, # ^ |
        Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится
        Преимущество есть: полчаса разницы в публикации. Действительно, после контеста хочется сразу узнать "как решалась эта чёртова задача!".
13 лет назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится
Thanks
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Problem C and Problem D is of which type(category)?