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

Автор Planshetnik, 13 лет назад, По-русски
Привет всем,
Подскажите пожалуйста как решать задачу:
На плоскость были натыканы (в хаотичном порядке) n раз по четыре точки (за раз), которые (эти четыре точки) если соединить образуют квадрат (и стороны квадрата будут параллельны осям).
Найти многоугольник с минимальной площадью, и чтобы линии краев этого многоугольника были параллельны осям координат.

Есть ли какой алгоритм или нужно придумывать?

з.ы. Если как-то плохо объяснил, то могу нарисовать.
UPD: поправил.

Полный текст и комментарии »

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

Автор Planshetnik, 13 лет назад, По-русски
Приветствую CodeForces' Users!

Мне как-то такой вопрос задали:
Можно ли за O(1) сделать реверс битов, без precalc'а?
Я ничего лучше O(n) не придумал, где n - кол-во бит.
При этом мне сказали что можно за O(1), но таки не сказали как.

Например: 101001 -(преобразование)- 100101.

UPD:
Блин Гуглом надо было попользоваться(
нашел ответ :
unsigned rev (unsigned x)
{
 x = (x & 0x55555555) << 1 | (x >> 1) & 0x55555555;
 x = (x & 0x33333333) << 2 | (x >> 2) & 0x33333333;
 x = (x & 0x0F0F0F0F) << 4 | (x >> 4) & 0x0F0F0F0F;
 x = (x <<24) | ((x & 0xFF00) <<8) |
     ((x >> 8) & 0xFF00) | (x >> 24);
 return x;
}
Прошу прощение. 
 

Полный текст и комментарии »

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

Автор Planshetnik, 13 лет назад, По-русски
В 7-го марта, Маша сказала, что после 8-го марта все сказанное ею до 8-го марта станет ложью. Правду ли она сказала?

Объясните.

Полный текст и комментарии »

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

Автор Planshetnik, 13 лет назад, По-русски
Приветствую!
Ребята подскажите пожалуйста какие-нибудь точные (или не очень) методы вычисление опр. интегралов, или какие нибудь ссылки на хорошие либы в С++.
Кстати в boost может решать опр. интегралы?

Полный текст и комментарии »

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

Автор Planshetnik, 13 лет назад, По-русски
Здравствуйте!
Пожалуйста подскажите как решить, используя суффиксные деревья или массивы.

Самое очевидное решение (не верное):
Надо сгенерироать все подстроки и включить их в бор, а потом перевернуть строку и снова сгенерировать все подстроки от перевернутой строки и проверить есть ли что-то в боре из этого набора (начиная с самой большой подстроки).

ломается тестом: qwertypoETEioytrewq

Полный текст и комментарии »

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

Автор Planshetnik, 13 лет назад, По-русски
Приветствую.
В общем начну с того что недавно начал решать acm.timus.ru, там есть некоторые разборы в "обсуждениях", я собираюсь писать в своем блоге отчеты о решении или не решении задач. Как думаете сильно ли буду засорять "Прямой эфир" если в день буду писать по 2-3 задачи в блог? 

Но не обязательно 2-3 задачи так как есть у меня очень вредная привычка, называется "забить на все", но предположим я не забью.

Полный текст и комментарии »

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

Автор Planshetnik, 13 лет назад, По-русски
Задача такова, дано прямоугольное (белого цвета) поле на него мы ложим различные по цвету и размеру прямоугольники, после укладки нужно найти какова площадь каждого из цветов на поле (если посмотреть сверху на поле), это все вывести.

В обсуждениях пишут что можно set'ом heap'ом воспользоватся, честно говоря вообще не представляю как тут можно set использовать.
Подскажите плз.
Спасибо заранее. 

Полный текст и комментарии »

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