http://162.105.81.212/JudgeOnline/problem?id=1905
http://162.105.81.212/JudgeOnline/problem?id=3122
pku1905题意:一根横在两堵墙之间的木棒受热膨胀后,变为弧形,求弧形中点与原木棒中点的距离,给出木棒原长度L,膨胀系数C,加热的度数N,膨胀n度后长度为LL=(1+N*C)*L;根据图形和有关几何的知识可以等到下面的公式:
①R^2 - L^2/4 = (R - H)^2(根据勾股定理)R表示半径;
②sinθ=L/2R;
③θ=LL/2R;
由一系列变换可求出S0=R*asin(Len/2R),其中R=(H^2+L^2/4)/2H;
用二分枚举H的长度,找到一个H使得S0=LL即可;注意精度和特殊情况的处理。
pku3122题意:某人在生日的时候请朋友一起吃pie,但是他的朋友十分挑剔,如果有人分到了一块比其他人大的pie,那么其他的朋友就会抱怨,因此每个人,包括主人,都必须分到大小一样的pie,但是每个人的pie只能是从一块大的圆形pie中切出来的,要求求出每人能分到的最大的pie,给定圆形pie的数量n,朋友数量m,以及每个pie的半径R[i]。
只要用二分枚举面积大小从0到maxn(所有pie中最大的那块的面积)即可。注意π要尽量取多位小数。