Submit | All submissions | Best solutions | Back to list |
KQUERYO - K-Query Online |
Given a sequence of n numbers a1, a2 ... an and a number of k-queries. A k-query is a triple (i, j, k) (1 ≤ i ≤ j ≤ n). For each k-query (i, j, k), you have to return the number of elements greater than k in the subsequence ai, ai+1 ... aj.
Input
- Line 1: n (1 ≤ n ≤ 30000).
- Line 2: n numbers a1, a2 ... an (1 ≤ ai ≤ 109).
- Line 3: q (1 ≤ q ≤ 200000), the number of k- queries.
- In the next q lines, each line contains 3 numbers a, b, c representing a k-query. You should do the following:
- i = a xor last_ans
- j = b xor last_ans
- k = c xor last_ans
Where last_ans = the answer to the last query (for the first query it's 0).
Output
For each k-query (i, j, k), print the number of elements greater than k in the subsequence ai, ai+1 ... aj in a single line.
Example
Input: 6 8 9 3 5 1 9 5 2 3 5 3 3 7 0 0 11 0 0 2 3 7 4 Output: 1 1 0 0 2
[Edited by EB]
There are invalid queries. Assume the following:- if i < 1: i = 1
- if j > n: j = n
- if i > j: ans = 0
Added by: | amirmd76 |
Date: | 2015-04-17 |
Time limit: | 0.200s |
Source limit: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Languages: | All |
hide comments
|
|||||||
2019-01-19 16:08:41
forget continuing...... silly me |
|||||||
2019-01-01 12:16:12
Persistent Segment Tree + Binary Search does it ! |
|||||||
2018-08-28 07:14:00 Erick
Finally AC! Tip: Don't use the third if putted by EB (i > j: ans = 0) it causes WA!! |
|||||||
2018-08-09 05:43:20
Also solvable with Wavelet tree e.e |
|||||||
2018-03-14 07:12:34
same concept can be applied here as well: https://www.codechef.com/problems/PRMQ |
|||||||
2018-02-26 14:50:18
O(sqrt(N)*log(N)) gives AC in 0.12s, how to reduce time other than using merge sort tree? |
|||||||
2018-02-22 14:05:42
The test cases are weak sqrt decomp also passes...even i didn't use long long for a[] still passed :( |
|||||||
2018-01-12 10:32:34
same version KQUERY has very strict TL, merge sort tree is not going to work there. |
|||||||
2017-07-03 18:43:07
Don't know what was the problem with this problem. I thought I will get WA but got AC. have many questions. #are the i and j 0 based or 1 based? (i got AC with assuming 1 based but i don't know what happens if we get 0 after XOR :3 ) #got a WA when i tool 4*30000 + 10 as size of the Segment Tree Array. then when i made it 4*300000 + 10 , it passed smoothly with AC |
|||||||
2017-06-28 06:53:04
The test data is still wrong I think. |