https://ac.nowcoder.com/acm/contest/4862/E
给n(<=20)头牛,每头牛有自己的身高、重量、承重,要让它们叠罗汉并高度至少是h,并要求剩余的载重量最大(说明最稳),求这个最大剩余载重量。
这题初看直接暴搜剪枝,,仔细一想才发现复杂度不对,是20!的。然后就没辙了,直到看了这篇博客,果然还是有藏着很隐蔽的关系约束的hh,核心思路是想到对于每种方案就是求si-sum{wi+1..wn}的最小值。然后对于所有方案再找最大。
代码就直接按二进制遍历即可。
1 |
|