Related
In following contests:
每个模块的插槽中至多可放入一个其他模块,且每个模块至多被放入一个其他模块的插槽内。
先考虑功耗系数更大的模块,使其插槽空间优先被填充。
按照功耗系数从大到小枚举每个模块,对每个模块,找到一个外部体积不大于其插槽空间的其他模块。即找到小于等于该插槽空间的体积最大值。
在太空站维护中,工程师需要处理一批功能模块。共有 n 个模块,第 i 个模块有三个参数:外部体积 Ai、内部插槽空间 Bi(满足 Bi≤Ai)以及功耗系数 Ci。
初始时所有模块均未嵌套,每个模块的插槽均处于空闲状态,空闲空间越多,产生的额外功耗越高。具体而言,若模块 i 的插槽剩余空间为 k,则会产生 Ci×k 的额外功耗。为降低总功耗,可以将一些模块放入另一些模块的插槽中。将模块 x 放入模块 y 的插槽需要满足 Ax≤By。放入后,模块 y 的插槽空间将减少 Ax,即剩余 By−Ax;模块 x 自身的插槽不受影响,仍可继续容纳其他模块。每个模块最多只能被放入一个其他模块的插槽,同时每个模块的插槽也最多只能容纳一个模块。此外,一个模块不能放入自身的插槽。
你需要规划一种嵌套方案,使得全部模块的总额外功耗达到最小,并输出这个最小值。
约束:
In following contests:
By signing up a CodeFun2000 universal account, you can submit code and join discussions in all online judging services provided by us.