不會貪心和 dp 啊(utpc2021 E)

lowbit發表於2024-11-27

luogu / pjudge

題意:\(n\) 個點,權值 \(x,y,c\),選 \(m\) 個,\(S\) 為選出的集合。最大化 \(\max p_x-\min p_x+\max p_y-\min p_y+\sum p_c(p\in S)\)

\(n,m\le 2e5\)

這是藍。這是藍。這是藍。如此水平,令人汗顏!

有一個重要的性質:

\(m\gt 4\) 時,按 c 排序後前 \(m-4\) 大的一定會選。

證明:反證,題目相當於選 4 個點加上 \(x,-x,y,-y\) 的貢獻。那當 \(m\gt 4\) 時一定有沒有貢獻進去的點,將其調整為 c 更大的點顯然更優。

然後似乎就做完了?問題轉化為了 \(m \le 4\)

直接 dp,\(f_{i, j, k}\) 表示前 \(i\) 個,選了 \(j\) 個,貢獻集合狀態為 \(k\) 的最大值。

其中 \(k\le 16\),代表的是目前選的裡面是否有貢獻給那 4 個 max 和 min。

目標:\(f_{n,m,16}\)

相關文章