yeah interval tree and binary indexed tree is a one solution which will give you answer in log(n) time for each query ,but if i got all the interval at the beigning of time i can get solution in O(1) time by O(n ) preprocessing take array f initialize with zero,now for each interval(l,r) do f[l]++ and f[r+1]-- once you are done wi all queries take prefix sum value of each index will tell you in how many interval it was
On Sunday, June 9, 2013 12:50:46 PM UTC+5:30, Monish Gupta wrote: > > There are n Intervals. Given a set of m numbers, tell in how many > intervals does each number exists. > Example: 4 Intervals: [2,3] [3,4] [1,4] [3,10]. Numbers {2,4,11} > For 2 -> 1 as 2 lies only in 1 interval [2,3] > For 4 -> 3 as 4 lies in 3 intervals > For 11 -> 0 as 11 lies in none of the given 4 intervals. > > It can be easily done in O(m*n) by traversing n intervals for each number > in the given set of m numbers. How would improve this? > > Note: I could not fully recall, but I have seen very similar question in > codechef but could not find the same. > -- You received this message because you are subscribed to the Google Groups "Algorithm Geeks" group. To unsubscribe from this group and stop receiving emails from it, send an email to algogeeks+unsubscr...@googlegroups.com.