1. 程式人生 > >2018.11.07 NOIP模擬 分糖果(貪心)

2018.11.07 NOIP模擬 分糖果(貪心)

傳送門
考慮 n = 2 時的情況:假定兩個人分別為(a, b),(c, d),則當且僅當min(a,d) ≤ min(b,c)時,把(a, b)放在前面更優,否則把(c, d)放在前面更優
然後把n = 2 的結論進行擴充套件。我們定義第 i 個小朋友比第 j 個小朋友小,當且僅當 min(ai,bj) <min(aj,bi),以這個規則進行排序,時間複雜度 O(nlogn)。
這樣得到的新隊伍一定是滿足題目要求的最優解之一,當然還可能存在其它最優解。
程式碼