鏈結: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....