Задать вопрос
  • Какой бонус лучше выбрать при броске 20-гранной кости?

    wataru
    @wataru
    Бонус может сочетаться с прибавлением значения (сначала подкидывание, а потом прибавка).


    Это значит, что можно выбрать и два кубика и потом к максимальному еще и прибавить что-то?

    Очевдино, но что лучше брать все возможные бонусы. И подбрасывание максимального количества кубиков и прибавление максимального числа.
  • БлэкДжек, вероятность комбинации, как посчитать?

    wataru
    @wataru Куратор тега Математика
    Михаил, Можно что угодно разместить где угодно. Удобнее ли это будет - отдельный вопрос. И вообще, если у вас другая задачка, лучше задайте ее отдельным вопросом.
    Написано
  • Почему шаблон выдает ошибку при включении заголовка в .cpp файл?

    wataru
    @wataru Куратор тега C++
    Павел Соколов, Возможно, какой-то конфликс с инкрементальной компиляцией или прекомпилированными хедерами.

    Возможно он как-то особенно обрабатывает h файлы. а ipp ему не известны.

    Если просто переименовать .ipp файл в .h и проблема решается, то это не код, а настройки проекта.
    Написано
  • Как игнорировать строки и символы при чтении из файла?

    wataru
    @wataru Куратор тега C++
    Оберните код в тег code (кнопка </> в редакторе). Иначе вопрос удалят, ибо читать невозможно.
    Написано
  • Не могу решить задачу на C?

    wataru
    @wataru Куратор тега Алгоритмы
    hint000, ну, 2 вычитания вместо одного. Экономия на спичках.
    Написано
  • Не могу решить задачу на C?

    wataru
    @wataru Куратор тега Алгоритмы
    hint000, не думаю. Это все-равно не векторизовать никак. А так будет такой же условный переход.
    Написано
  • Как это посчитать?

    wataru
    @wataru Куратор тега Алгоритмы
    ffff567, двигаем вправо. Обрабатываем справа налево.

    Смотрите код. Сдвиг происходит за счет прибавления a[current] к a[current+1] и зануления прошлой позиции. Это одновременно сдвигает элемент на место нуля вправо и объединяет пару одинаковых элементов.
    Написано
  • Как это посчитать?

    wataru
    @wataru Куратор тега Алгоритмы
    ffff567,
    ниче не понял почему нули нельзя трогать?

    Что значит, "двигать ноль"? Там же нет ничего. Но просто в этом алгоритме мы считаем, что можно значение сдвинуть, если дальше пустота (0) или такое же значение. Но для двух 0 подряд это условие выполняется. Однако двигать-то нечего, после выполнения сложения, у вас остается такой же массив в двумя нулями подряд.

    Мы двигаем все числа по одному, справа-налево, пока можем. Если не можем текущее число двигать, переходим к более левому.
    Написано
  • Что означает n0 k0 в алгоритме Kingdom Division hackerrank?

    wataru
    @wataru Куратор тега Алгоритмы
    Ирина Грачева, Пополам делиться потому что в дп считаются оба варианта раскраски корня. Любая раскраска имеет двойника - можно все цвета инвертировать.

    Но во время счета нам надо взять количество раскрасок поддерева со строго одним фиксированным цветом в корне. Например, когда мы считаем k, у нас есть k от отца. Теперь нам надо это домножить на варианты раскрасить поддерево в ребенке без изолированных вершин, но ребенок должен быть другого цвета! Поэтому берём n и делим на 2, чтобы выкинуть все варианты с совпадающим цветом.
    Написано
  • Почему 8 в формуле hackerrank city?

    wataru
    @wataru Куратор тега Алгоритмы
    Irina_Yurievna, Лучше удалите номер, пока спамеры не подхватили его. Я вам в личку написал.
    Написано
  • Почему 8 в формуле hackerrank city?

    wataru
    @wataru Куратор тега Алгоритмы
    Irina_Yurievna, Какой у вас ник на хабре? Отправлю контакты в личку
    Написано
  • Почему 8 в формуле hackerrank city?

    wataru
    @wataru Куратор тега Алгоритмы
    Irina_Yurievna, Нам надо все эти диагональные пути целиком подсчитать. (кстати, не только диагональные, может быть из нижнего дерева в верхнее еще). Эти диагональные пути распадаются на 3 части: середина и 2 кусочка внутри копий дерева.
    Середину мы дополнительно разбиваем на отдельные ребра и по каждому новому ребру считаем, сколько раз это ребро во всех путях встречается.
    Оставшиеся концевые куски в деревьях мы в каждом дерове группируем вместе одинаковые и оказывается, что каждый кусок встречается ровно 3Y+2 раза в каждом дереве. Ну, потому что ровно столько есть вариантов выбрать второй конец пути. Вы зафиксировали кусок в дереве, выбрали любой второй конец - получили какой-то изначальный путь. От каждого этого изначального пути это кусок надо подсчитать. Дальше, эти 3Y+2 можно вынести за скобки и в каждом дереве остается сумма всех путей от угла - т.е. X.
    Написано
  • Почему 8 в формуле hackerrank city?

    wataru
    @wataru Куратор тега Алгоритмы
    Irina_Yurievna, X - это пути от угла дерева, а не все пути. Все пути мы считаем в answer. Но в процессе подсчета мы заметили, что куски новых путей можно сгруппировать и там вылезает как раз сумма путей из угла. Поэтому ввели X.
    Написано
  • Почему 8 в формуле hackerrank city?

    wataru
    @wataru Куратор тега Алгоритмы
    Irina_Yurievna, надо детали все прочитать. Y*Ai - этот множитель получается при счёте, сколько раз в ответе будут 4 ребра от новых вершин к копиям дерева. Множитель X получается при счете путей между деревьями, конкретно кусков этих путей между концом и углом дерева, в котором этот конец находится.
    Написано
  • Почему 8 в формуле hackerrank city?

    wataru
    @wataru Куратор тега Алгоритмы
    Лень там регистрироваться, чтобы почитать разбор. Вы его скопируйте суда.
    Написано
  • Как обяснить в алгоритме инверсии?

    wataru
    @wataru Куратор тега Алгоритмы
    Irina_Yurievna,
    Есть несколько книг, которые дадут вам почти всю базу для почти всех алгоритмических задач:
    Кнут "Конкретная математика"
    Кормен "Алгоритмы: построение и анализ"
    Кнут "Искусство программирования"
    Написано
  • Как "выпрямить" кольцевой буфер c ограниченной доп.памятью?

    wataru
    @wataru Куратор тега C++
    Руслан ., это же адресная арифметика. Идет из си, но и в си++ работает. a+k - это фактически &a[k]
    Написано
  • Какая функция (или набор разных ф-ий) изменения "мощности" цвета света при распространении луча?

    wataru
    @wataru Куратор тега C++
    SergeySerge11, Не надо считать отражение новым источником света, надо помнить пройденное до отражение расстояние и считать сумму до отражения и после.

    Формула для яркости будет P/(l*l+0.001). 0.001 чтобы деления на 0 случайно не было. P - параметр источника света, l - длина пути луча. Можно не считать штраф на рассеивание, ибо он будет незаметен на фотне вот этого.
    Написано
  • Почему в c++ еще нету Null-Conditional Operator?

    wataru
    @wataru Куратор тега C++
    Dyikot, Тернарный оператор - легаси еще из си. Если бы его там не было, то вообще не факт, что его бы добавили в С++.
    Написано