### cote's blog

By cote, history, 8 months ago,

I encountered a problem about probability in a local contest but cannot figure out how to solve it.

Here is the problem statement (since they have removed the online pdf file):

There are N inclusive ranges $[a_i, b_i]$, i=1, 2, 3, ... N. Now for every range choose a random real number, find the probability that the range i gives the highest result. In case there are two or more highest results, there is no winner.

Constraints: $1<=N<=300$, $0<=a_i, b_i<=1e9$

Up until now, my thinking goes like this: I will compose a set of non-intersecting smaller ranges such that for every i the range $[a_i, b_i]$ can be formed by combining some ranges in the set.

For example the test: N = 5; [0, 5]; [1, 5]; [2, 5]; [3, 5]; [4, 5];

The set is: S = {[0, 1], [1, 2], [2, 3], [3, 4], [4, 5]}

Some visual:

There is around O(N) ranges in this set. The for every i, I will check the probability of it winning if the number chosen is from some range in S. For example, in the above test, I will find the probability of 1 winning by considering if the number is chosen from [0,1], [1, 2]... seperately. Then find the answer for i by summing them up. This solution is O(N^3).

However this is where I have got a Wrong Answer doing it on paper. Maybe I have some mistakes using the calculus,