題目鏈結:
題目大意:要製作乙個體積為nπ的m層蛋糕,每層都是圓柱體。設從下往上數第i層蛋糕半徑為r[i], 高度為h[i]。當ir[i+1]且h[i]>h[i+1]。並使得外表面(最下一層的下底面除外)的面積q最小。令q = sπ,答案輸出s。n<=10000,m<=20。
題目分析:
1.顯然這樣的資料範圍想到的第一件事兒就是搜尋,畢竟m只有20.
2.於是我們就要列舉每一層的r和h了,但顯然只這樣暴力的列舉肯定是會tle的,所以我們必須要想辦法優化。
3.優化的思路:
#include
#include
#include
#include
#include
#include
#define inf 0x7ffffff
using
namespace std;
typedef
long
long ll;
ll n,m,ans=inf;
ll least[30]
,ano[30]
;inline
void
dfs(ll flo,ll r,ll h,ll nowv,ll temp)
double x=
sqrt((
double
(n-nowv)))
; ll c1=x;
for(ll i=
min(c1,r-1)
;i>=flo;i--)}
}int
main()
生日蛋糕(BFS)
題目鏈結 題目描述 7月17日是mr.w的生日,acm thu為此要製作乙個體積為n 的m層生日蛋糕,每層都是乙個圓柱體。設從下往上數第i 1 i m 層蛋糕是半徑為ri,高度為hi的圓柱。當i m時,要求ri ri 1且hi hi 1。由於要在蛋糕上抹忌廉,為盡可能節約經費,我們希望蛋糕外表面 最...
F 生日蛋糕
7月17日是mr.w的生日,acm thu為此要製作乙個體積為n 的m層生日蛋糕,每層都是乙個圓柱體。設從下往上數第i 1 i m 層蛋糕是半徑為ri,高度為hi的圓柱。當i m時,要求ri ri 1且hi hi 1。由於要在蛋糕上抹忌廉,為盡可能節約經費,我們希望蛋糕外表面 最下一層的下底面除外 ...
演算法實踐 生日蛋糕
7月17日是mr.w的生日,acm thu為此要製作乙個體積為n 的m層生日蛋糕,每層都是乙個圓柱體。設從下往上數第i 1 i m 層蛋糕是半徑為ri,高度為hi的圓柱。當i m時,要求ri ri 1且hi hi 1。由於要在蛋糕上抹忌廉,為盡可能節約經費,我們希望蛋糕外表面 最下一層的下底面除外 ...