动态规划之分蛋糕

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qinghuan1/article/details/68925972

描述:
有一块矩形蛋糕,宽和高分别是整数w、h。现要将其切成m块小蛋糕,每个小蛋糕都必须是矩形、且宽和高均为整数。切蛋糕时,每次切一块蛋糕,将其分成两个矩形蛋糕。请计算:最后得到的m块蛋糕中,最大的那块蛋糕的面积下限。

解题思路:
设ways(w,h,m)表示宽为w、高为h的蛋糕,被切m刀后,最大的那块蛋糕的面积最小值。题目就是要求ways(W,H,M-1)
边界条件:

 w*h<m+1  
 INF m==0   w*h  

递推式:
SV为第一刀竖着切时能得到的最好结果,SH为第一刀横着切时能得到的最好结果,则ways(w,h,m)=min(SV,SH)
SV=min{Si,i=1…w-1}
其中 Si=为第一刀左边宽为i的情况下的最好结果。
Si=min{max(ways(i,h,k),ways(w-i,h,m-1-k)),k=0…m-1}

猜你喜欢

转载自blog.csdn.net/qinghuan1/article/details/68925972