Skip to content

P12678 Brooklyn Round 1 & NNOI Round 1 B - Gift 笔记

容易想到为了往最优贡献靠,一定按 bi 升序排序选。

考虑暴力,设 fi,j 表示考虑前 i 个数,bi=j 的最优答案,则

fi,j+bimax{fi,j+aibi<j(1)fi,j+ai×bibij(2)

时空复杂度 O(nmaxbi)

考虑优化,题目给出了 bi5×106,而转移 (2) 恰好又是 O(bi) 的,所以重点在于解决转移 (1)

由于 (1)(2) 对立,因此考虑每个人的基础贡献都是 (1),然后对 DP 的贡献进行 (1)=0,(2)=(2)(1) 的操作,即将 DP 中的贡献计算全部减去 ai,这样就只需进行 (2) 转移即可。时空复杂度 O(bi)

最近更新