Press

DeepSeaSpray發表於2024-06-06

Press

不妨以位置為 \(x\) 軸,時間為 \(y\) 軸。

當一個機器人到達點 \(A\) 後,如果可以繼續走到 \(B\) 當且僅當 \(|x_A - x_B| \leq |y_A - y_B|\)

將其在 \(T=10^9\) 時刻可以按到的按鈕用區間表示出來 \([x_A-(T-y_A),x_A+(T-y_A)]\) 記做 \(S_A\)

簡單畫圖不難發現上述條件等價於 \(S_B \in S_A\)

我們將所有的區間求出,按照左端點排序,將右端點看成一個數列。

每一個最長不上升子序列都可以被一個機器人按完,現在求需要多少個機器人。

導彈攔截即可,答案為最長上升子序列的長度。

時間複雜度 \(O(n\log n)\)

參考程式碼