RT,在写一个题发现需要一些科技。
目前的情况是我有 nnn 个二元组 (x,y)(x,y)(x,y),取一个二元组需要付出 xxx 的代价,但可以得到 yyy 的贡献。我最多付出 nnn 的代价,如何使得 yyy 最大。每个二元组只能拿一次(所以不能用疯狂的采药那道题弄)。
x∈{1,2},n⩽2⋅105,y⩽2⋅1014x\in\{1,2\},n\leqslant 2\cdot 10^5,y\leqslant 2\cdot 10^{14}x∈{1,2},n⩽2⋅105,y⩽2⋅1014。
显然这是一个 01 背包,然而我只会空间复杂度和时间复杂度都到 n2n^2n2 的做法,想问一下,对于这个题特殊的 xxx,能否有空间复杂度或者时间复杂度可以达到(接近于)线性的方法?