atcoder#ABC175E. [ABC175E] Picking Goods

[ABC175E] Picking Goods

配点 : 500500

問題文

RRCC 列に並んだマス目に KK 個のアイテムが置いてあります。1iR1 \leq i \leq R 行目、 1jC1 \leq j \leq C 列目のマスを (i,j)(i, j) と表すとき、ii 番目のアイテムはマス (ri,ci)(r_i, c_i) に存在し、その価値は viv_i です。

高橋君はマス (1,1)(1, 1) からスタートしてゴールのマス (R,C)(R, C) まで移動します。高橋君はマス (i,j)(i, j) にいるとき、次には (存在すれば) マス (i+1,j)(i + 1, j) またはマス (i,j+1)(i, j + 1) に移動することができます。

高橋君は通ったマス (スタートとゴールも含む) のアイテムを拾うことができます。ただし、マス目の同じ行では 33 個までしかアイテムを拾うことができません。通ったマスにアイテムがある場合に、そのアイテムを拾わないことはできます。

高橋君が拾うことのできるアイテムの価値の合計としてありうる値の最大値を求めてください。

制約

  • 1R,C30001 \leq R, C \leq 3000
  • 1Kmin(2×105,R×C)1 \leq K \leq \min(2 \times 10^5, R \times C)
  • 1riR1 \leq r_i \leq R
  • 1ciC1 \leq c_i \leq C
  • (ri,ci)(rj,cj)(ij)(r_i, c_i) \neq (r_j, c_j) (i \neq j)
  • 1vi1091 \leq v_i \leq 10^9
  • 入力は全て整数である

入力

入力は以下の形式で標準入力から与えられる。

RR CC KK

r1r_1 c1c_1 v1v_1

r2r_2 c2c_2 v2v_2

::

rKr_K cKc_K vKv_K

出力

高橋君が拾うことのできるアイテムの価値の合計としてありうる値の最大値を出力せよ。

2 2 3
1 1 3
2 1 4
1 2 5
8

移動の方法は以下の 22 通りあります。

  • マス (1,1)(1, 1) 、マス (1,2)(1, 2)、マス (2,2)(2, 2) の順に移動する。このとき拾うことのできるアイテムの価値の合計は 3+5=83 + 5 = 8 である。
  • マス (1,1)(1, 1) 、マス (2,1)(2, 1)、マス (2,2)(2, 2) の順に移動する。このとき拾うことのできるアイテムの価値の合計は 3+4=73 + 4 = 7 である。

よって、高橋君が拾うことのできるアイテムの価値の合計としてありうる値の最大値は 88 です。

2 5 5
1 1 3
2 4 20
1 2 1
1 3 4
1 4 2
29

11 行目にアイテムが 44 個あります。次のように移動してアイテムを拾う方法が最適です。

  • マス (1,1)(1, 1) 、マス (1,2)(1, 2)、マス (1,3)(1, 3)、マス (1,4)(1, 4) 、マス (2,4)(2, 4)、マス (2,5)(2, 5) の順に移動する。このうちマス (1,2)(1, 2) にあるアイテムのみ拾わないことにすると、アイテムの価値の合計は 3+4+2+20=293 + 4 + 2 + 20 = 29 である。
4 5 10
2 5 12
1 5 12
2 3 15
1 2 20
1 1 28
2 4 26
3 2 27
4 5 21
3 5 10
1 3 10
142