Esse problema foi retirado de Interviewstreet.com
É-nos dada uma matriz de números inteiros que representa segmentos de linha, de modo que os pontos finais do segmento sejam e . Imagine que, do topo de cada segmento, um raio horizontal é disparado para a esquerda, e esse raio para quando toca outro segmento ou atinge o eixo y. Construímos uma matriz de n números inteiros, , em que é igual ao comprimento do raio disparado da parte superior do segmento . Definimos .
Por exemplo, se tivermos , então , como mostra a figura abaixo:
Para cada permutação de , podemos calcular . Se escolhermos uma permutação aleatória uniformemente de , qual é o valor esperado de ?
Se resolvermos esse problema usando a abordagem ingênua, ele não será eficiente e será executado praticamente para sempre por . Acredito que podemos abordar esse problema calculando de forma independente o valor esperado de para cada stick, mas ainda preciso saber se existe outra abordagem eficiente para esse problema. Em que base podemos calcular o valor esperado para cada stick independentemente?