I know how to build and perform queries on a merge sort tree. But how to do point updates in the merge sort tree efficiently
# | User | Rating |
---|---|---|
1 | tourist | 4009 |
2 | jiangly | 3823 |
3 | Benq | 3738 |
4 | Radewoosh | 3633 |
5 | jqdai0815 | 3620 |
6 | orzdevinwang | 3529 |
7 | ecnerwala | 3446 |
8 | Um_nik | 3396 |
9 | ksun48 | 3390 |
10 | gamegame | 3386 |
# | User | Contrib. |
---|---|---|
1 | cry | 164 |
1 | maomao90 | 164 |
3 | Um_nik | 163 |
4 | atcoder_official | 160 |
4 | adamant | 160 |
6 | -is-this-fft- | 158 |
7 | awoo | 157 |
8 | TheScrasse | 154 |
8 | Dominater069 | 154 |
8 | nor | 154 |
I know how to build and perform queries on a merge sort tree. But how to do point updates in the merge sort tree efficiently
Name |
---|
Have you checked this ?
See the last part.
Yes I have already read this article but just wanted to know if there is some other technique apart from policy based data structures to perform updates
You can keep implicit segment tree in each node so that you can update and query in O(log^2(N)).
Thanks for above technique but I have never implemented implicit segment tree so I have no idea about it. Can you provide any link regarding the same or give brief idea about implicit segment tree??
A past discussion here: Dynamic Segment Trees. Of course, you can google for more).
Sample problems: SPOJ-BLUNIQ SPOJ-ADACROP SPOJ-XXXXXXXX
Sample implementation for ADACROP: code
Check out this blog on the implementation of Point updates in merge sort trees.