アットウィキロゴ
競技プログラミング用 知識集積所
掲示板 掲示板 ページ検索 ページ検索 メニュー メニュー

競技プログラミング用 知識集積所

ABC457G - Catch All Apples

最終更新:

sport_programming

- view
管理者のみ編集可


問題


必要知識

B以下レベルの内容は省略

考え方

時刻T1に位置X1におちてくるリンゴと時刻T2に位置X2におちてくるリンゴ、これらを同じロボが回収できる条件は、T1<=T2の場合、
|X1-X2| <= T2-T1
つまり
T1+X1 <= T2+X2 かつ T1-X1 <= T2-X2
である。つまりは逆に、T+XとT-Xの片方が増加して片方が減少していると別ロボが必要になる。
X+TとX-Tの両方が増加していると、という言い方もできる。

ということは、全リンゴのデータをX+Tの昇順に並べて、X-Tの(狭義の)最長増加部分列を探せば、その長さが答え。
X+Tが重複したときにそのうち1つしか採用できない点は、タイブレークでX-T降順にしておくことで自動的に解決される。

解答例


注意点


別解

最近更新されたスレッド
ウィキ募集バナー