把所有 \(a_i<b_i\) 的位置拿出來。內部排序後如果大於等於則拿走。否則考慮從一開始 \(a_i\ge b_i\) 中的拿一個出來進行匹配:\((a_i,b_j),(a_j,b_i)\)。則要求 \(a_i\ge b_j,a_j\ge b_i\)。只需要滿足第一個式子的同時,最大化 \(a_j\) 即可。
實現可以把大於等於的一開始按照 b 進行排序,把小於的部分按照 a 和 b 一起小到大排序。這樣每次就可以動態維護最大的 \(a_j\)。
考慮上述做法中提到的:【滿足第一個式子的同時,最大化 \(a_j\) 即可。】的正確性。
踏馬の憑什麼這樣就是對的啊。憑什麼我的貪心就是錯的啊。