Parenting Partnering
Abridge problem statement
有 A, B 兩人,每人一天都必須花 720 分鐘顧小孩,給定一些 A, B 各自不能顧小孩的時間,請你安排最少換手次數的顧小孩時間表。
Solution sketch
核心想法,如果 gap(就是 A 或是 B 有空的所有區間)兩端的事件都屬於 A 或是 B,那就看看能不能把區間的時間全部給 A 或是 B來顧,這樣可以少掉換手的次數。如果不行,那一定是 ABA 或是 BAB 了,所以一定會換手兩次。
如果 gap 兩端事件不同,那就一定換手一次。至於何時換手,不管。 (ABABA…AB 或是 BABABA…BA 都是沒有意義的分配,因為你一定可以 reduce 成 AB 或是 BA 就好)。
AC code
|
|