尝试着证明了一下贪心的结论
查看原帖
尝试着证明了一下贪心的结论
864920
Refrain520CC楼主2023/7/3 17:25

对于第二篇题解中的结论: SxS_x与SyS_y尽可能大,且二者尽量接近

ps:题解中总结的题意 给定A,B数组,长度均为n,分别从AB数组中选x和y个数和分别为Sx和Sy,要求最大化
min(Sx-x-y,Sy-x-y)

这里尝试证明一下

首先证明“越大越好"

题目的要求是最大化收益,且每个数字大于1,也就是说当min(Sx-x-y,Sy-x-y)等于Sx-x-y的情况下,从A组里多选一个数,收益就越大,Sx就越大,也就是Sx越大越好。

再来证明Sx和Sy尽可能接近

个人认为,与其说这是一个结论,不如说是在满足最优方案的情况下带来的附加条件,可以看成是自然而然地Sx和Sy就尽可能接近了。

由于多选一个A组的数,会使Sx-x-y增,Sy-x-y减,所以我理解的尽可能接近是在确定了Sx-x-y与Sy-x-y的大小关系的情况下,多选一个A组或B组的数就会改变这个大小关系从而改变最大化收益。

说了这么多,我们看一下具体的情况,假设Sx和Sy还没有尽可能接近,不妨设min(Sx-x-y,Sy-x-y) = Sx-x-y也就是此时的最优解ans=Sx-x-y,但是Sx和Sy还没有充分接近,我们可以多选一些A组的数同时不影响二者的大小关系,可以发现,多选一些数之后Sx-x-y大于ans,也就是更优,所以结论得到了证明
2023/7/3 17:25
加载中...