How can we solve spoj problem INCSEQ using segment tree?
Here is the link to the problem
How can we solve spoj problem INCSEQ using segment tree?
Here is the link to the problem
№ | Пользователь | Рейтинг |
---|---|---|
1 | tourist | 3843 |
2 | jiangly | 3705 |
3 | Benq | 3628 |
4 | orzdevinwang | 3571 |
5 | Geothermal | 3569 |
5 | cnnfls_csy | 3569 |
7 | jqdai0815 | 3530 |
8 | ecnerwala | 3499 |
9 | gyh20 | 3447 |
10 | Rebelz | 3409 |
Страны | Города | Организации | Всё → |
№ | Пользователь | Вклад |
---|---|---|
1 | maomao90 | 171 |
2 | awoo | 164 |
3 | adamant | 161 |
4 | TheScrasse | 159 |
5 | maroonrk | 154 |
5 | nor | 154 |
7 | -is-this-fft- | 152 |
8 | Petr | 146 |
8 | orz | 146 |
10 | pajenegod | 144 |
Название |
---|
I think, that you can solve this task in such way :
You will use K segment trees.
1. Sort all elements of given array in non-decreasing order.
About sort : if elements are equal — the minimal element will be element which has the rightmost position.
2. You should update every segment tree in such way :
3. Le'ts add the value of sum in the current segment tree in position myElementPosition.
My AC code here
If I want to find distinct increasing subsequence as in this question http://www.spoj.com/problems/INCDSEQ/
what modification I need to make in the above code?
Another ways to solve the problem:
Can you please explain how BIT is working for this problem? Also , why we need to increment a[i] during scanning the input
Increment is because BIT is 1-based structure. Bit-based solution is simply in k turns calculate on each turn number of sequences of length i ending in pos.