Editorial for TLE '17 Contest 3 P4 - Meatballs
Submitting an official solution before solving the problem yourself is a bannable offence.
Author:
We will first solve the problem for general , then explain the subtasks.
Let be the probability that the
person in line will win if there are
people left in line. If
, then
must be
, and by definition,
since if there is only one person left, they are declared the winner.
Note that if the person in line survives the round, then in the next round, they are either in position
(if somebody behind them was eliminated) or position
(somebody ahead of them was eliminated). This suggests that
depends on
and
.
In fact, we can compute the probability that somebody ahead of the person is eliminated by summing the probabilities of being eliminated from persons
to
. Similarly, we do this for the people behind the
person.
There exists a formula for the probability that the person in line is eliminated, which is dependent on
,
, and
. The formula is reasonably easy to compute, so it will not be listed here.
Thus, is equal to
multiplied by the probability that somebody ahead of the
person is eliminated plus
multiplied by the probability that somebody behind the
person is eliminated.
For the first subtask, we manually compute the solutions by hand since there are not many of them.
For the second subtask, we perform the dynamic programming without any memoization.
For the third subtask, we perform dynamic programming.
For the fourth subtask, we perform dynamic programming.
For the last subtask, one can make an interesting note about the output from the previous subtasks and conjecture what the solution will be. It will not be posted here, since we don't want people copying this for free. Note however, that the formula can be proven.
Interesting fact: the pretests and samples of this problem all have an output of .
Comments