Editorial for WC '18 Contest 2 S3 - Multitasking
Submitting an official solution before solving the problem yourself is a bannable offence.
At any given point in the bomb defusing process, Ilsa has cut wires, completely defused
bombs, and partially defused
bombs. A partially-defused bomb has exactly one of its wires cut.
We can do dynamic programming where is the probability that there are
completely-defused bombs and
partially-defused bombs after Ilsa has cut
wires. Necessarily, the sum of all DP values for the same number of wires cut must equal
. Note that all numbers of cut wires
are equally likely before Ethan walks into the room.
We start with , and with all other DP values initialized to
. When
wires have been cut, it must be the case that no bombs are either completely or partially defused. We can then iteratively compute the DP value for all states where
wire is cut, then
wires, and so on as follows:
For a given number of wires , such that we've already computed all DP values that correspond to
wires being cut, we can compute the values for
wires being cut by iterating over all possible states
such that
. For each such state, we compute the probability
that the next wire cut will completely defuse a partially-defused bomb, and the probability
that the next wire cut will be the first wire cut on a new bomb:
- There are
wires that would complete a partially-defused bomb if cut, and
uncut wires. Therefore,
.
and
must sum to
. Therefore,
.
Then, we update two of the states for wires as follows:
- With probability
, there will be one more completely-defused bomb and one fewer partially-defused bomb. Therefore, we can increase
by
.
- With probability
, there will be one more partially-defused bomb. Therefore, we can increase
by
.
Let be the random variable of the number of uncut wires (and let
be a specific number of uncut wires). The answer we actually want to compute is the expected number of uncut wires, given that we know that there are
completely-defused bombs:
Let be the sum of
over all possible values of
. We can then state that:
The probability of being in a given state that corresponds to
uncut wires is proportional to
. Since all values of
are equally likely without any information, the probability of being in state
is simply
after you know that
.
Computing the table of DP values takes time, and combining them together takes
time, so the total time complexity is
.
Taking the second sample case as an example, there are three states in which Ethan might walk in on Ilsa: ,
, and
, since
is known to be
. It must be the case that Ilsa has
,
, or
wires remaining since with any fewer wires remaining there would have been at least
completely-defused bomb. All of these values of
are equally likely when Ethan walks into the room, but when he observes that no bombs have been completely defused, the chance that exactly
wires remain uncut is decreased since there's a chance that one bomb would have been completely defused by that point.
The chance that cut wires belong to the same bomb (out of
total bombs) is
, so the chance of having
wires uncut and
completely-defused bombs is only
the chance of having
wires uncut or
wires uncut. Observe that
, while
.
Dropping terms that equal , the answer we want to compute is:
Comments