И всё-таки, зачем столько полужирного? В оригинале его не было. Я думаю, посетители Хабра в состоянии сами отличить главные мысли от второстепенных :-)
Я вот вижу полосатый экран и посередине надпись «нажмите здесь, чтобы загрузить плагин». Без установленного флэша попробуй догадайся, что это 404. При этом сайт в целом без флэша работает. Что бы там ни было, считаю, что в погоне за красотой забыли подумать о юзабилити. Я должен ставить плагин исключительно ради того, чтобы узнать, что я попал не туда?
Только не надо говорить, что я сам дурак. По долгу службы мне нужно иметь один из браузеров без интегрированного флэша. И люди без флэша или со старой версией вообще встречаются и в наши дни.
А ещё квадратные корни и логарифмы =) Тогда вообще абсолютно любое натуральное число можно будет тремя двойками представить :-)
1 = log_2 (log_2(sqrt(2)))
2 = log_2 (log_2(sqrt(sqrt(2))))
3 = log_2 (log_2(sqrt(sqrt(sqrt(2)))))
4 = log_2 (log_2(sqrt(sqrt(sqrt(sqrt(2))))))
…
Спасибо, может в жизни пригодиться. Я такую задачу как-то оптимизировал по-другому (сам велосипед изобрёл): разбил множество из n элементов примерно на sqrt(n) блоков примерно одинаковой длины, посчитал и сохранил минимум для каждого из них, а в онлайн-задаче брал минимумы целых блоков, вошедших в диапазон, и дополнял элементами, не составившими целый блок. Получается вроде (O(n), O(n^(1/2)) и O(n^(1/2)) дополнительной памяти помимо самого массива. Описанный здесь метод, конечно, красивее :-)
Любопытная статья. Не первый день меня беспокоит вопрос о том, как эффективно выдрать мои данные с ютюба: названия, описания, теги всех видео. Сами видео-то у меня на винте, а вот описания я вручную пишу прямо на ютюбе, и их уже за сотню завалило. Будет обидно, если всё накроется…
Интересно, в современных процессорах до сих пор нет железячных оптимизаций для TreeMap/HashMap на строках и числах? По-моему, в современном программировании это было бы нелишне :-)
Вставка в середину вектора не так уж и дорога, как может показаться. Если даже у вас там 10000 элементов, которые являются 64-битными указателями на фактические объекты, то для вставки придётся передвинуть блок в 80 Кбайт. Шина позволяет порядка гигабайта в секунду пропускать, на этом фоне 80 Кбайт — не так много. Сдвиг блока хоть и линейная по времени операция в теории, она может быть дешевле, чем поиск нужной ветки в двоичном дереве с кучей сравнений.
> то было бы неплохо его диспресию предварительно (до вычисления градиента) уменьшить – например, смазать исходное изображение I, то есть сделать свертку например с гауссовым ядром f
А медианный фильтр не лучше будет для шумоподавления? Конечно, зависит от характера шума…
Впрочем, не знаю, что у них там за драма состоялась и даже не хочу в это встревать :-)
Вообще, надо думать, участие в одном проекте не мешает участвовать в другом.
Только не надо говорить, что я сам дурак. По долгу службы мне нужно иметь один из браузеров без интегрированного флэша. И люди без флэша или со старой версией вообще встречаются и в наши дни.
1 = log_2 (log_2(sqrt(2)))
2 = log_2 (log_2(sqrt(sqrt(2))))
3 = log_2 (log_2(sqrt(sqrt(sqrt(2)))))
4 = log_2 (log_2(sqrt(sqrt(sqrt(sqrt(2))))))
…
А медианный фильтр не лучше будет для шумоподавления? Конечно, зависит от характера шума…