Round 74: Two Squares

Bruteforce search on the TL corner of the first square. And then update all possible choices with squares with TL corner with the chonse square. In the end, pick the remaining one between the one with TL outside the sqaure, and within sqaure

Round 74: Minimum by Xor

Need to print all subsets, but how to prove it?!!!

Round 75: Race Cars

Essentially bsearch on each way, and see which one can be better

Round 75: Electric Cars

Sort by arrival time, and start simulation

  1. maintain a list of interrupted cars, current time, current charge, remining to charge

  2. for each incoming car, try finish the current car first

  3. if not, add the current car to the interrupted list, update current car

  4. if yes, keep removing head of the list, and try finishing them, add the remaining back for the last one

  5. in the end, clean the current, and all cars in the list

Round 76: Candy Boxes

just keep track of budget on each box, and assign them in sequence

Round 76: Pyramids

  1. For each column, we need only the lowest point, and then we add point from left to right, and take out all shadowed points. Note the new point itself can be shadowed. This works because if the right most can’t shadow the new point, the points to the left can’t either!!!

  2. To calculate the intersection between pyramids, we can use math or bsearch. Note that if we deduct intersections at the end of each step, we can just compute the end points from left to the right, one by one!!!