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

Автор Hardes1, история, 3 года назад, По-русски

Привет, Codeforces! Кто-нибудь знает как написать до сверху так, чтобы оно потребляло 2n памяти? В интернете нашёл лишь реализации за 4n.

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

»
3 года назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Автокомментарий: текст был обновлен пользователем Hardes1 (предыдущая версия, новая версия, сравнить).

»
3 года назад, # |
  Проголосовать: нравится +2 Проголосовать: не нравится

Напиши неявное ДО на указателях. Вершин по определению создастся не больше 2n https://wiki.algocode.ru/index.php?title=Динамическое(Неявное)_Дерево_Отрезков

  • »
    »
    3 года назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Я очень ценю твой вклад, но проблема в том, что один указатель занимает больше памяти, чем 1 int, например. Мне важно минимальное количество памяти и я слышал, что такая реализация с индексами есть...

    • »
      »
      »
      3 года назад, # ^ |
        Проголосовать: нравится +3 Проголосовать: не нравится

      Справедливости ради стоит сказать, что если использовать при отправке 32-битный компилятор, то указатель, как и int32 будет весить 4 байта. На codeforces таким компилятором является, например, Microsoft Visual C++ 2010.

      И да я прекрасно понимаю, что в вершинах нужно хранить по два указателя, поэтому в любом случае выигрыша по памяти не будет.

      • »
        »
        »
        »
        3 года назад, # ^ |
        Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

        Мне кажется, что компилятор MVC++ 2010 сейчас уже не в моде. К тому же я уточнил, что конкретно меня интересует и объяснил, почему твой вариант мне не подходит.

»
3 года назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится