NOI2005 月下檸檬樹

2022-05-19 02:45:08 字數 1000 閱讀 3270

題意:

給定一棵由若干個圓台和圓錐組成的樹,求這棵樹在與地面成$\alpha$角的平行光束照射下產生的投影的面積。

題解:顯然投影下去之後每個圓的$r$不變,而高度$h$變成$\frac}$。

圓的面積可以直接算,兩個圓的公切線形成的梯形用三角函式推一下也可以直接算。

那麼直接$simpson$積分算一下就行了。注意區間$l,r$應該對所有圓算一遍$min,max$來取值,因為會出現圓套圓的情況。

複雜度$o(n^\log)$(大概吧)。

套路:**:

#include#define maxn 200005

#define maxm 500005

#define inf 0x7fffffff

#define eps 1e-6

#define ll long long

#define rint register int

#define debug(x) cerr<

namespace

std;

int n; double

h[maxn],r[maxn],c[maxn];

inline

intread()

inline

double f(double

x) }

return

res;

}inline

double simpson(double l,double r)

inline

double solve(double l,double

r)int

main()

月下檸檬樹

NOI2005 月下檸檬樹

一堆圓台平行光的投影 在草稿紙上畫一下,發現對於乙個圓,它投影完還是乙個半徑不變的圓。定義樹的軸在投影平面上經過的點為原點,定乙個正方向,建立平面直角座標系,能發現,對於乙個半徑為 r 高度為 h 的圓,投影到平面上是圓心座標為 cot alpha h,0 半徑為 r 的圓 想象有乙個水平的平面,豎...

NOI2005 月下檸檬樹 計算幾何 積分

題目描述 李哲非常非常喜歡檸檬樹,特別是在靜靜的夜晚,當天空中有一彎明月溫柔 地照亮地面上的景物時,他必會悠閒地坐在他親手植下的那棵檸檬樹旁,獨自思 索著人生的哲理。李哲是乙個喜愛思考的孩子,當他看到在月光的照射下檸檬樹投在地面上的 影子是如此的清晰,馬上想到了乙個問題 樹影的面積是多大呢?李哲知道...

bzoj 1502 NOI2005 月下檸檬樹

檔案的第1行包含乙個整數n和乙個實數alpha,表示檸檬樹的層數和月亮的光線與地面夾角 單位為弧度 第2行包含n 1個實數h0,h1,h2,hn,表示樹離地的高度和每層的高度。第3行包含n個實數r1,r2,rn,表示檸檬樹每層下底面的圓的半徑。上述輸入檔案中的資料,同一行相鄰的兩個數之間用乙個空格分...