Задать вопрос
  • Какой SSL-сертификат лучше использовать для стэйджинга?

    Let`s Encrypt , очевидно. Я вообще не понимаю, кому сейчас нужны покупные сертификаты, кроме банков и подобных структур, где наличие покупного сертификата вписано в регулятивные правила отрасли.
    Ответ написан
    Комментировать
  • Как создать все трехмерные кубы заданного размера содержащие данную точку?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Если говорим о кубах с целочисленными вершинами и рёбрами, параллельными осям координат, то достаточно вложенными циклами перебирать возможные положения кубов по каждой координате.
    Ответ написан
    Комментировать
  • Что означает n0 k0 в алгоритме Kingdom Division hackerrank?

    wataru
    @wataru Куратор тега Алгоритмы
    Разработчик на С++, экс-олимпиадник.
    Тут считаются 2 динамических программирования: 1) Сколько вариантов раскрасить поддерево так, что ни одна вершина не изолирована. 2) Сколько вариантов раскрасить поддерево так, что ни одна вершина кроме корня не изолирована, а корень изолирован.

    Считается снизу вверх, в "стеке" получаются вершины для которых значения уже подсчитаны - изначально листья. n, k - это как раз значения ДП в текущей вершине и в отце. текущей вершины.

    В структуре tree для каждой вершины хранится 2 объекта. Под индексом 0 - пара значений дп, под индексом 1 - список соседей в дереве.

    next получается значение этой структуры для отца, cur - для текущей вершины.
    Ответ написан
    3 комментария
  • Какие лучшие ресурсы для изучения математики и алгоримтов с уклоном в ИТ?

    Alexandroppolus
    @Alexandroppolus
    кодир
    https://neerc.ifmo.ru/wiki/index.php
    https://ru.algorithmica.org/
    e-maxx.ru/algo (к нему есть ещё английский вариант, это типа как перевод, но там больше всего)

    по математике считается неплохой книгой вот эта

    Ну и для более вдумчивого неспешного изучения - классика: Кормен, Скиена, Кнут...
    Ответ написан
    Комментировать
  • Почему 8 в формуле hackerrank city?

    wataru
    @wataru Куратор тега Алгоритмы
    Разработчик на С++, экс-олимпиадник.
    Это формула просто уже причесана и разложенна на множители. Это 12Y+8 (не X, кстати) идет в слагаемом (12Y+8)*(X+Y*Ai)

    8 там - это 4*2. 4 дерева и 2 новые вершины. Подробнее ниже.

    Как подсчитать все расстояния? Давайте отдельно посмотрим на те, которые внутри копии из 4 деревьев. Это даст нам слагаемое 4*Answer. Теперь подсчитаем те, которые идут между двумя разными деревьями. Их можно рзабить на 2 части - куски среди 5 новых ребер длины Ai и куски внутри деревьев. Вот эти куски внутри деревьев они все будут из угла, которым дерево крепится к остальным. Поэтому нам надо считать вот эту вот сумму расстояний от угла дерева (X).

    Новые ребра посчитаем отдельно. В скольки путях каждое ребро будет присутствовать? Это надо перемножить количество вершин с одного конца ребра на количество вершин с другого конца. Ведь из каждой из первых есть путь во вторые, проходящий через данное ребро. Для 4-ех новых ребер размеры кусков будут Y и 3Y+2. Вот мы получили 4*Y*(3Y+2)*Ai. Вот тут если 4 внести внутрь мы получим вот это самое 12Y+8 из вопроса. Для одного ребра размеры будут 2Y+1 и 2Y+1. Вот мы получили слагаемое (2Y+1)^2*Ai.

    Дальше надо посчитать, сколько раз каждый кусок в дереве из угла пойдет в ответ из путей между деревьями. Опять же, ровно столько раз, сколько вершин можно взять в качестве другого конца. Таких веришин 3*Y+2 - в любом из трех остальных деревьях или 2 новые вершины. Но эти куски в каждом из 4 деревьев, поэтому надо домножить на 4. Это дает нам слагаемое 4*X*(3Y+2). Тут тоже вылезает 12Y+8.

    Вот и получается формула там.
    Чтобы пересчитать Y, понятно что надо умножить на 4 и прибавить 2. 4 дерева 2 новые вершины.

    Вот с X по сложнее. Во-первых. там могут быть пути внутри одного дерева. Получаем слагаемое X. Во-вторых, надо посчитать, сколько раз каждое из новых ребер войдет в ответ. Ребро у дерева с углом с одной стороны имеет ровно одну вершину конец - угол. С другой может быть в любом дереве или в одной из 2 новых вершин. Поэтому получаем слагаемое (3Y+2)*Ai Ребро между новыми вершинами с одной стороны может кончатся в любом из 2 деревьев или в новой вершине. Получаем (2Y+1)*Ai. Оставшиеся 3 ребра ведут только в одно дерево и дают 3*Y*Ai.

    Куски путей внутри других деревьев однозначно описываются одной вершиной концом и дают как раз все возможные пути из корня, т.е. получаем еще 3X.

    Куски путей внутри корневого дерева - это всегда диаметр дерева Z который идет рвоно столько раз, сколько там других вершин в дереве (3Y+2). Получаем Z*(3Y+2).

    Если все сложить и причесать, получим ответ в статье. Возможно там чуть другая логика вывода была, но суть решения такая же. Аккуратно считаем все пути. Чтобы это было проще все пути можно разбить на группы: внутри дерева, между двумя разными, и еще и на части: часть в дереве и часть в новой серединке. И главный инструмент: ребро встречается в сумме путей ровно столько раз, сколько путей через него проходит, а это произведение размеров подграфов с двух концов ребра.
    Ответ написан
  • Почему предел равен этому значению?

    Alexandroppolus
    @Alexandroppolus
    кодир
    это ведь при n, стремящемся к бесконечности?

    выражение сверху надо привести к общему знаменателю, а n^(q+1) перекинуть наверх, ну а (n+1)^q развернуть по биному Ньютона:

    (1/n^q - 1/(n+1)^q) / (1/n^(q+1)) =

    = ( ((n+1)^q - n^q) / (n^q * (n+1)^q) ) * n^(q+1) =

    = ((n+1)^q - n^q) * n / (n+1)^q =

    = (n^q + q * n^(q-1) + ... - n^q) * n / (n+1)^q =

    = (q * n^(q-1) + ... ) * n / (n+1)^q =

    = (q * n^q + ... ) / (n^q + ...)

    на месте многоточий тут слагаемые, у которых n в меньшей степени, чем q, и если n стремится к бесконечности, то их можно считать незначительными по сравнению с n^q

    вот и остается q * n^q / n^q , которое сокращается до q
    Ответ написан
    Комментировать
  • Как доказать коэффициенты Фурье?

    wataru
    @wataru Куратор тега Математика
    Разработчик на С++, экс-олимпиадник.
    Подумайте, что происходит с функцией, если ее умножить на синус и просуммировать?
    Функция раскладывается в ряд фурье ( с пока не известными вам коэффициентами). Надо будет доказать, что можно поменять местами умножение на синус и суммирование. В итоге у вас получится ряд и сумм и вот все суммы кроме одной из-за ортогональности станут 0. А в одной искомый коэффициент можно вынести за скобки и подсчитать сумму.
    Ответ написан
    Комментировать
  • Что делать если провайдер выдает серый ip?

    @brar
    Самый правильный вариант, как сказали выше, купить белый айпи у прова. Вопрос от 100-500 руб в месяц. Второй вариант: наоборот, в офисе поднять l2tp-сервер, чтобы убунта подключалась к нему.
    Третий вариант: hamachi или аналоги. ubuntovod.ru/instructions/hamachi-ubuntu-linux.html , также там в коментах ссылаются на haguichi.
    Ответ написан
    1 комментарий
  • Как сделать беспроводной монитор?

    Goshil
    @Goshil
    Если говорить про трансляцию по wifi, я бы посоветовал универсальные приёмники ezcast / ezcast2 / ezcast pro . Их тысячи моделей на любой вкус и кошелёк но суть одна - принимают сразу по всем известным протоколам беспроводных экранов: Apple airplay , Google Chromecast, Miracast / WiDi , и по своему собственному, годами проработанному протоколу EZCast. Даже поддерживается такой мамонт, как протокол DLNA, который, кстати, отлично подходит для трансляции видео, музыки и картинок, так как имеет вшитую буферизацию контента.

    Если нужна игрушка посерьёзнее, то берите имитацию кабеля - передатчик+приёмник, вообще не требующие никаких манипуляций для выкидывания провода и запуска трансляции по воздуху. Подробнее можно почитать, например, тут - https://besprovodnoe.ru/news/obzor-sovremennykh-te...
    Ответ написан
    8 комментариев
  • Как определить нормального клиента?

    @dude2012
    вот когда человек начинает ныть "дорого", то сразу его и слать лесом. Вы же не обязаны работать бесплатно, вам кушать хочется. У вас есть ставки на определенные действия, они должны быть оплачены. Если ему дорого, пусть ищет дешевле, но и качество услуг будет соответствующим.
    Надо всегда твердо отстаивать свои интересны, тогда придурки сами отвалятся.
    Ответ написан
    2 комментария
  • Как определить нормального клиента?

    @WapGeaR
    Программист
    Просто не связываюсь с:
    • Арабами
    • Азиатами
    • Индусами
    • С людьми с СНГ
    • Латиносами

    и как-то проще работается.
    Ответ написан
    8 комментариев