UVa12097 LA3635 Pie
对面积在[0,maxa]内进行二分,其中maxa=max(maxa, A[i]),表示所有圆面积的最大值
对于面积x,计算一共可以切成多少份面积为x的派,看这个数目够不够F+1;
如果cnt >= F+1,L = M; 否则 R = M;
while ( R-L > eps ) { M = L + (R-L)/2; if ( ok(M) ) L = M; else R = M; } printf ( "%.4lf\n", L );
其中ok函数:
bool ok(double x) { int cnt = 0; for ( int i = 0; i < N; ++i ) cnt += floor(A[i]/x); return cnt >= F+1; }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步