【USACO 2011 March Gold】切蛋糕

Bessie烘焙了一块由R*C个小蛋糕组成的巧克力蛋糕,每个小蛋糕含有不同数量的巧克力豆。她想将蛋糕切成A*B块,通过水平和垂直切割。其他奶牛会拿走最多巧克力豆的块,留下最少的一块给Bessie。问题是,Bessie如何切割可以获得最多的巧克力豆。例子展示了如何将5*4的蛋糕分成4*2块,使得Bessie至少可以得到3个巧克力豆。输入包含蛋糕尺寸和切割要求,输出是Bessie能获得的最大巧克力豆数。解题策略涉及二分搜索和贪心算法,时间复杂度为O(R*C*log(MAX_ANS))。
摘要由CSDN通过智能技术生成

Description

Bessie烘焙了一块巧克力蛋糕。这块蛋糕是由R*C个小的巧克力蛋糕组成的。 
第i行,第j列的蛋糕有N_ij个巧克力豆。 
Bessie想把蛋糕分成A*B块,(1 <= A <= R,1 <= B <= C): 给A*B只奶牛。蛋糕先水平地切A-1刀(只能切沿整数坐标切)来把蛋糕划分成A块。然后再把剩下来的每一块独立地切B-1刀,也只能切沿整数坐标切。其他A*B-1只奶牛就每人选一块,留下一块给Bessie。由于贪心,他们只会留给Bessie巧克力豆最少的那块。 
求出Bessie最优情况下会获得多少巧克力豆。 

例如,考虑一个5*4的蛋糕,上面的碎屑分布如下图所示: 
1 2 2 1 
3 1 1 1 
2 0 1 3 
1 1 1 1 
1 1 1 1 

Bessie必须把蛋糕切成4条,每条分成2块。Bessie能像这样切蛋糕: 
 


因此,其他贪得无厌的牛拿完后,Bessie仍能够拿走3个巧克力豆。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值