poj 3122 二分查詢

2021-12-29 16:39:17 字數 722 閱讀 4896

鏈結:poj 3122

題意:我生日派對時,準備了n個圓柱形的pie,半徑比一定相同,但高都為1,

邀請了f個朋友,加上自己一共f+1人,需要將n個pie分給f+1個人

要求:每個人分得的pie尺寸要一樣大,

並且同乙個人所分的pie要是從同乙個pie上得到的,n個pie分完後可以有剩餘

求:每個人最多可以分多少

分析:因為同乙個人所分的pie都來自同乙個pie,

若每個人所分的最大體積為a,那麼比a小的pie肯定得捨棄。

將每個人最多分得的pie看成半徑為r的圓柱,則最大尺寸為pi*r*r*1,

可以用二分演算法,下界為0,上界為pie的最大半徑

要注意精度問題

#include

#include

#define pi acos(-1.0)

#define eps 1e-8

int n,m;

double rad[10010];

bool judge(double size)

double bin_search(double l,double r)

return mid;

}int main()

double ansr=bin_search(0.0,r);

printf("%.4lf\n",pi*ansr*ansr);

}return 0;

}

POJ 3122 分披薩(二分查詢)

有 n 塊披薩 大小不一樣 f 個人分,包含主人自己 f 1 人 每人吃的披薩必須是一塊披薩上切下來的。每個人吃的披薩相等,披薩可以有剩餘。求每人吃的最大披薩面積。description 有 n 塊披薩 大小不一樣 f 個人分,包含主人自己 f 1 人 每人吃的披薩必須是一塊披薩上切下來的。求 au...

POJ3122 二分與誤差

題意 n個派f 1個人分 包括自己 同乙個派可以分成多塊,但每個人只能拿一塊,並且不能拼接比如一塊6派,如果拿5,剩下的1就得丟棄 要點 1.比較普通的二分,將每塊派大小除mid,累加得到分給的人數。要注意mid也就是每個人分到的派可以是浮點數。2.要求精度問題,因為left和right都是doub...

poj 3122 二分 分蛋糕

題意 每組測試案例包括了,蛋糕的塊兒數,朋友數,以及所有高度為1的 圓柱形蛋糕的半徑,要求從這些蛋糕中分一塊分別給朋友和自己 f 1 並且每一塊蛋糕要來自同一塊兒大蛋糕,因為這樣看起來美觀,求最後每個人得到的蛋糕大小 pi s include include include define pi 3....