不加剪枝見祖宗
關於本題剪枝:
明確迴圈範圍 第n層r和h最小是n 否則第1層沒有餘地 最大是下面的一層-1
開始剪枝~
2.老生常談 層數為先
3.卡體積(tj)當tj<0 return;
當tj加上面還需要計算的rest層的最大仍不及n return
4.卡表面積(bj)當bj>=已求minn 非解 return
當bj+最下面一層的面積》minn return
偽**
void dfs(int 層,int 體積,int 表面積,int 剩下的層數)
}
ac**如下~
#include#include#includeusing namespace std;
int r[1000],h[1000];
int n,m;
int minn=2147483647;
void dfs(int cnt,int tj,int bj,int rest)
}}int main()
深搜剪枝 生日蛋糕
時間限制 1 sec 記憶體限制 128 mb 提交 14 解決 8 提交 狀態 討論版 命題人 add cy 7月17日是mr.w的生日,acm thu為此要製作乙個體積為n 的m層生日蛋糕,每層都是乙個圓柱體。設從下往上數第i 1 i m 層蛋糕是半徑為ri,高度為hi的圓柱。當i m時,要求r...
poj 1190 生日蛋糕(剪枝 深搜)
題目位址 題目大意 n 體積m層的蛋糕,使得表面積最小 解題思路 將蛋糕從上到下編號1.m,從m層開始搜尋,搜尋過程中注意剪枝 三個剪枝條件 1 已經搜尋過的體積加上還未搜尋過的最小體積不能比總體積n 大 2 已經搜尋過的表面積加上還未搜尋過的最小表面積不能比之前的最小總表面積best 大 3 n ...
POJ1190 生日蛋糕(深搜 剪枝)
描述 7月17日是mr.w的生日,acm thu為此要製作乙個體積為n 的m層生日蛋糕,每層都是乙個圓柱體。設從下往上數第i 1 i m 層蛋糕是半徑為ri,高度為hi的圓柱。當i m時,要求ri ri 1且hi hi 1。由於要在蛋糕上抹忌廉,為盡可能節約經費,我們希望蛋糕外表面 最下一層的下底面...