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

Автор I_Love_Limon4ik, история, 7 лет назад, По-русски

Добрый день всем!
Есть одно задача из informatics-а Объединение прямоугольников.
У мня получается найти все точки каждого прямоугольника но не знаю как дальше.
Пожалуйста помогите решить эту задачу.

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

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

Стандартная задача на ДО + сканлайн. Отсортим события открытия/закрытия прямоугольника по x, понятно, что между соседней парой событий ответ на одномерную задачу одинаковый. Теперь осталось научится решать одномерную задачу: построим ДО, при закрытии прямоугольника нужно вычесть 1 на отрезке, при открытии добавить 1, ответ это общая площадь 0 на все отрезке (чтоб это считать можно, например, поддерживать минимальный элемент и площадь его покрытия, тогда если он равен 0, то прибавим к ответу длину отрезка — площадь минимума, или весь отрезок в другом случае).

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

    Хватить учить новичков всякой сложноте. Вот нормальное решение: http://ideone.com/d0bRIg

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

      Это не сложнота а базовая задача но понимание ДО, суть задачи в том чтобы научится использовать ДО