Задать вопрос
  • Посчитать многоугольник почему не работает програма?

    wataru
    @wataru Куратор тега Математика
    no-pasaran, Я отредактировал свой ответ. Перечитайте его, пожалуйста.
  • Что можно убрать чтобы оптимизировать затраты памяти?

    wataru
    @wataru Куратор тега C++
    impelix, А дайте задачу целиком. Что там за ограничения по числам? По памяти и по времени?

    Может, надо суммировать не разворачивая вот эти вот группы. Если там дается, скажем, до миллиона групп, но в каждой может быть до миллиона чисел, то вы падаете по памяти еще во время ввода.

    Тут надо прочитать пары (цифра, количество), развернуть их списки, а потом суммировать погрупно. Если группы одинакового размера - сложили их. если нет, то откусили от более длинной групы кусок равный более короткой. Обработали. Из-за переноса можно в ответ вписать сразу несколько групп. В ответе в конце надо будет подряд идущие одинаковые группы цифр слить в одну группу. Ну и развернуть перед выводом.

    Надо порисовать на бумажке, что будет, если сложить "aa...a", "bb....b" и еще перенос (0 или 1) в правый разряд.
  • Посчитать многоугольник почему не работает програма?

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

    wataru
    @wataru Куратор тега C++
    Что за ошибку то выдает система? В коде виду 2 ошибки - отсутствие фигурных скобок у else, и все ту же запись за границу массива в цикле. Вы там после всех resize'ов можете получить массив b га один короче массива a. Вы там +1 к length делаете как бы для этого переноса, но цикл суммирования все равно гоните до length-1. Можно прибавлять перенос, если он не 0, тогда выхода за границу нк будет. Но испоавьте код, чтобы массивы были одинаковой длины.
  • Что можно убрать чтобы оптимизировать затраты памяти?

    wataru
    @wataru Куратор тега C++
    impelix, или заведите отдельный вектор для ответа. Количество пар можно подсчитать перед выводом (считайте различия в массиве отдельным циклом). Цифры можно хранить в char - тоже экономия.
  • Как построить путь из одной координаты в другую, используя промежуточные координаты из списка?

    wataru
    @wataru Куратор тега Алгоритмы
    s4q, Надо задать к этому массиву еще и список, между какими двумя центрами можно возить товары. Обычно это только между отделением и родительским ему а так же между любыми двумя отделениями верхнего уровня.

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

    wataru
    @wataru Куратор тега Алгоритмы
    s4q, но тогда кратчайший путь - прямая из начала в конец (скорее всего не посещая ни одну точку).

    Судя по обсуждению под ответами, у вас есть важное ограничение - иерархическая структура логистики почтовых отделений. Нельзя из районного отделения новосибираска отправить посылку напрямую в районное отделение в архангельске - слишком много различных путей для посылок будет. Посылка должна идти через городской пункт, через областной в новосибирске, оттуда, скорее всего, через москву в сортировочный центр в арзангельской области.
  • Как построить путь из одной координаты в другую, используя промежуточные координаты из списка?

    wataru
    @wataru Куратор тега Алгоритмы
    s4q, Путь должен проходить через промежуточные точки в заданном порядке или как угодно? Надо посетить все промежуточные точки, или можно пропускать их?

    Это координаты в мире, т.е. путь строится по дорогам условным google maps? Или дело на плоскости, и можно проводить прямые? В тегах вы указали "графы", может быть у вас есть произвольный граф на котором надо решить задачу?

    Путь надо кратчайший, я так понимаю?
  • Как быстро умножают края матриц?

    wataru
    @wataru Куратор тега Алгоритмы
    rPman, Ох, напутал я. Для произведения матриц оно не применимо, но перемножение полиномов, длинных чисел и свертки на матрицах - делаются через FFT. Есть какие-то извращенные алгоритмы вроде этого (страница 31+), но это совсем не то, что я представлял, когда упоминал FFT выше.
  • Как уменьшить диапазон поиска для неизвестного числа?

    wataru
    @wataru Куратор тега Математика
    HrustHr, Т.е. 167 - это диапазон, а не искомое, неизвестное число? А если само число окажется 166, то уже первое -4 переведет в отрицательные числа.
  • Как уменьшить диапазон поиска для неизвестного числа?

    wataru
    @wataru Куратор тега Математика
    HrustHr, Т.е. у вас есть не данное число X, Вы из него вычитаете 4, получаете неизвестное X-4. Дальше что? Как вообще можно из неизвестного числа что-то вычитать? Ну допустим, вы 40 раз вычли, получили X-160. 42 раза вычли, получили X-168 - все неизвестные числа. Как вы определяете, что дальше вычитать не надо?
  • Как уменьшить диапазон поиска для неизвестного числа?

    wataru
    @wataru Куратор тега Математика
    HrustHr, Всмысле, вам 167 уже дано? Зачем тогда из него вычитать что-то?
  • Как уменьшить диапазон поиска для неизвестного числа?

    wataru
    @wataru Куратор тега Математика
    HrustHr,
    если , к примеру вычитаеш 4 из 167 40 раз


    А почему из 167? Если вы ищете число 167, то его искать не надо, вот оно уже есть: "167". Если же вы знаете, что X от 1 до 167, то вычитать 4 нельзя. А вдруг искомое число 166? Вы его вычитанием 4 пропустите. Если вы можете сказать, что перескочили через искомое X - то это уже и есть тот самый критерий, какое-то дополнительное свойство X, которое можно использовать, например, для бинарного поиска.
  • Как уменьшить диапазон поиска для неизвестного числа?

    wataru
    @wataru Куратор тега Математика
    HrustHr, вам в прошлый раз пытались объяснить, что мы не телепаты, просто взять и выкинуть из перебора почти все числа - нельзя. Только если вы дадите полное и строгое описание свойств искомого числа X, может быть шанс на какое-то ускорение перебора. Но, если это действительно криптография, то шанса вообще нет.
  • Как уменьшить диапазон поиска для неизвестного числа?

    wataru
    @wataru Куратор тега Математика
    Rsa97, по-моему, этот кадр уже был здесь несколько месяцев назад с несколькими похожими вопросами. Собственно задачу так и не рассказал ни разу, а только намеками. Чувак явно ломает криптографию и держит в тайне свою гениальную идею.
  • Как уменьшить диапазон поиска для неизвестного числа?

    wataru
    @wataru Куратор тега Математика
    HrustHr, вот вам аналогия вашего вопроса: мне надо найти убийцу из 100000 жителей города. Как не опрашивать всех, а только 10 человек? Ответ - никак. Если вам не известно какое-то еще свойство убийцы (например, кто-то видел мужика в черной куртке), то никак.
  • Как убрать time.sleep() или чем его заменить а автотестах?

    wataru
    @wataru
    Зависит целиком и полностью от того, зачем там time.sleep() в коде используется. И вообще, зачем вам его убирать? Хотите, чтобы тесты прогонялись быстрее?
  • Почему free() выводит ошибку?

    wataru
    @wataru
    rusyska55011, Ну тогда остается только запись в не свою память. Что за последовательность операций приводит к падению? Попробуйте ее сократить максимально, выкидывая какие-то операции поочередно пока программа продолжает падать. А дальше попробуйте после каждой операции вывести весь список. Так же выводите адреса удаляемых вершин.
  • Как я могу конвертировать число в символ?

    wataru
    @wataru Куратор тега C++
    yourDaddy1337, Но если вы хотите, чтобы символ был нормально в консоли виден, то надо выводить именно символ '3', с кодом 51. Ну или просто int в cout, он сам внутри все преобразует.

    Если же вы хотите обмениваться данными между двумя программами, то сначала определитесь, у вас формат бинарный или текстовый? Если текстовый, то выводите сразу int, а на другой стороне читайте int. И в консоли все отображаться будет нормально.

    Если же формат бинарный, то глазами его читать не получится - там будет нечитаемый ужас всегда. Тогда можно 3 действительно выводить как 0x03. Но тогда надо бы еще всякие заголовки продумать: тип поля, размер данных, в каком порядке байты идут (от старших к младшим или наоборот).
  • Как найти последовательность букв через графы?

    wataru
    @wataru Куратор тега C++
    Alexandroppolus, это зависит от условия. Может, для повтора надо сходить в соседнюю клетку и обратно. Тогда никакие повторы обрабатывать не надо. Вообще, второй тест из вопроса это покажет, но мне лень отсчитывать там шаги. Но если все символы повтора съедаются за один шаг, то еще можно переходы делать не на +1 в третьем индексе, а на + сколько там одинаковых символов из матрицы в этой позиции встречается.