Editorial for WC '18 Finals S1 - Behind the Scenes
Submitting an official solution before solving the problem yourself is a bannable offence.
Any piece of filmmaking equipment should only be moved when necessary, immediately before a shot will be filmed on its current stage (the total cost cannot be reduced by instead moving it earlier). Furthermore, whenever multiple pieces of equipment are to be moved away from a given stage, they should all be moved together to a single other stage. Therefore, when simulating the sequence of shots in order, right before each shot , we should move all equipment currently on stage to one of the other two stages.
The only remaining question for each shot is: Which of the other two stages should stage 's equipment be moved to? Let the two possible destination stages be and , and let be the earliest shot such that and (or if there's no such shot). indicates the next time at which equipment would need to be moved again if moved to stage right before shot , which is the only relevant consequence of the choice of destination stage. Therefore, the equipment should be moved to stage if , or to stage otherwise.
A simple implementation of the above approach, in which each required value is computed by iterating over the remaining shots, has a time complexity of and is fast enough. An solution is also possible, by first iterating over the shots in reverse to pre-compute all of the values.
Comments