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

Автор SkyMagic, история, 5 часов назад, По-английски

Here's a question, is it possible to implement a data structures that supports these operations online:

  • 2d Range update(only the add operation, no negative number for adding)
  • 2d Range queries(get the sum)
  • use Low memory(possibly $$$O(nlogn)$$$)

Here are the constraints:

  • $$$n \leq 10^5$$$
  • $$$q \leq 10^5$$$

I think a fenwick tree could work but I'm not sure if it will TLE or not.

If anyone could verify that using a fenwick tree could work please let me know. Thanks in advance!

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

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

You can check out this source. O(N log N) memory is possible, but only with offline updates.

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

    It has to be online updates, there are things I forgot to mention, there are $$$q$$$ queries which have 2 types:

    • 2d Range update(only the add operation, no negative number for adding)
    • 2d Range queries(get the sum)
    • »
      »
      »
      3 часа назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      Still doable in $$$O(q)$$$ memory.

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

Yes, it is possible. You can do it even in $$$O(q)$$$ memory btw.