Witam,
Próbuję rozwiązać https://www.codechef.com/problems/SECPLAYER. Ogółem doszedłem do wniosku, że
E[x_i] = (x_i * prawdopodobieństwo, że x_i zagra tylko jeden mecz)
+ (x_i * prawdopodobieństwo, że x_i będzie grał tylko z graczami o mniejszym ratingu)
(Zakładam, że gracze są posortowani rosnąco ze wzg. na ich rating)
Dlaczego? Bo jeśli zagra tylko 1 mecz, to znaczy, że reszta się powybijała i x_i stanie do walki z graczem z najlepszym ratingiem (tylko on mógł przetrwać w tej bijatyce), no i skoro będzie się pojedynkować z najlepszym, to na pewno przegra, więc będzie na 2 miejscu.
Natomiast jest jeszcze przypadek, że zagra więcej niż 1 mecz. Wtedy liczę prawdopodobieństwo, że dojdzie on do 2 miejsca. Żeby to się stało, to ten x_i musi walczyć tylko z graczami o ratingu mniejszym od siebie, a to znaczy, że gracze z ratingiem większym od x_i muszą grać tylko między sobą. Więc zdanie prawdopodobieństwo, że x_i będzie grał tylko z graczami o mniejszym ratingu kryje w sobie tak na prawdę iloczyn dwóch prawdopodobieństw.
Tylko mam problem, żeby zapisać to matematycznie.
1. Prawdopodobieństwo, że x_i zagra z graczami tylko o mniejszym ratingu wynosi a = indeks(x_i) / N
2. Prawdopodobieństwo, że gracze z ratingiem większym od x_i będą grali tylko ze sobą, wynosi b = (N - indeks(x_i)) / N
Więc ten 2 przypadek (że zagra więcej niż 1 mecz) można opisać jako x_i * a * b.
Jeszcze trzeba dodać przypadek 1, tylko jak mam zapisać prawdopodobieństwo, że x_i zagra tylko 1 mecz? I czy nie pominąłem czegoś w rozwiązaniu?