hdu 6097 Mindis 高中數學

2021-08-06 01:27:09 字數 996 閱讀 3209

高中數學學得賊爛,怎麼說呢,如果高三做也許會做,現在就有點要gg的感覺

反演點:二維上反演以乙個特定的反演圓為基礎:圓心o為反演中心,圓半徑為常數k,把點p反演為點p'就是使得op×op'=r^2.

題意:圓心 o 座標(0, 0), 給定兩點 p, q(不在圓外),滿足 po = qo,

要在圓上找一點 d,使得 pd + qd 取到最小值。

官方題解:

做p點關於圓的反演點p',opd與odp'相似,相似比是|op| : r。

q點同理。

極小化pd+qd可以轉化為極小化p'd+q'd。

當p'q'與圓有交點時,答案為兩點距離,否則最優值在中垂線上取到。

時間複雜度 o(1)o(

為什麼要選擇反演點呢,因為如果選擇相似三角形已知的比例只有r/d,剛好符合反演點,只能說反演點在同心圓中被用到的多了,有了這麼乙個名字,如果沒有這個反演點的名字也要這麼搞,因為已知的條件,只有角相等,r和d的長度。。。。

#include #define eps 1e-8

void work()

double k = r * r / (d0 * d0);

double x3 = x1 * k, x4 = x2 * k, y3 = y1 * k, y4 = y2 * k;

double mx = (x3+x4)/2, my = (y3+y4)/2, ans;

double d = sqrt(pow(mx,2)+pow(my,2));

if (d <= r)

else

printf("%.7f\n", ans);

}int main()

基於M6097 switch的STP協議除錯方法

1 硬體除錯 1 switch晶元位址方式 確定switch在板子上是多晶元還是單晶元方案 即多址與單址 通過p10 addr 0 4 判斷 0 4 0b00000 為單晶元方案 其他為多晶元方案,最大支援31個switch級聯。單晶元與多晶元在暫存器訪問上有很大的區別,多晶元要複雜些。一般採用單晶...

圓的反演 計算幾何 hdu6097

題意 圓心 o 座標 0,0 給定兩點 p,q 不在圓外 滿足 po qo,要在圓上找一點 d,使得 pd qd 取到最小值。資料範圍 t 500000 100 x,y 100 1 r 100 思路 根據圓的反演,構造乙個相似三角形,可以轉換問題。如果求得的距離小於eps,說明近似於原點,距離為2 ...

M 產生冠軍 HDU 2094

有一群人,打桌球比賽,兩兩捉對撕殺,每兩個人之間最多打一場比賽。球賽的規則如下 如果a打敗了b,b又打敗了c,而a與c之間沒有進行過比賽,那麼就認定,a一定能打敗c。如果a打敗了b,b又打敗了c,而且,c又打敗了a,那麼a b c三者都不可能成為冠軍。根據這個規則,無需迴圈較量,或許就能確定冠軍。你...