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

Автор duckladydinh, история, 9 лет назад, По-английски

Hello,

I have been looking for an implementation of 2D Fenwick Tree for n, m<= 100000 without using std::map but with no luck. I want to ask if it is possible to implement 2D Fenwick Tree using O(nlogn) memory and O(logn^2) per update?

Tutorials, ideas or papers, all are very welcome.

Thank you.

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

»
9 лет назад, скрыть # |
 
Проголосовать: нравится +8 Проголосовать: не нравится

Never heard of Fenwick Tree doing that, you may have some luck if you implement is as a tree with pointers and lazy initialization instead of an array. Although in that case segment tree would probably be much easier or at least more popular.

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

Yes it is possible.

You can use array of unordered map instead of using map.

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

I think it can be done using pbds. http://codeforces.me/blog/entry/52094

»
9 лет назад, скрыть # |
 
Проголосовать: нравится +1 Проголосовать: не нравится

You can use a Fenwick of treaps (or any BBST modified to answer range sums) to do that if the queries are online.