GMA Round 1 最短距離

2022-02-27 08:22:59 字數 519 閱讀 1384

傳送門

最短距離

在橢圓c:$\frac+\frac=1$上作兩條相互垂直的切線,切線交點為p,求p到橢圓c的最短距離。結果保留6位小數。

設橢圓方程:$\frac+\frac=1$,結論是兩垂直切線交點p的軌跡為$x^2+y^2=a^2+b^2$。當切線斜率不存在或為0時易驗證。否則設p座標為$(x_0,y_0)$,兩條直線 $l_1:y=k(x-x_0)+y_0$,$l_2:y=-\frac(x-x_0)+y_0$為橢圓的兩條切線。

將$l_1$與$l_2$分別與橢圓聯立,並另其判別式為0,可得下列兩式:

$$2kx_0y_0-k^2x_0^2+b^2-y_0^2+k^2a^2=0$$ $$-2kx_0y_0-x_0^2+k^2b^2-k^2y_0^2+a^2=0$$

將兩式相加得$(1+k^2)(a^2+b^2-x_0^2-y_0^2)=0$,即$x_0^2+y_0^2=a^2+b^2$

這樣一來p的軌跡是以$\sqrt$為半徑的圓,距離最短時p在x軸上,距離為$\sqrt-a$

定位:簡單題

1407 最短距離

兩個點 a b 均在做勻速直線運動。給出 t 0時刻 a b 的座標,以及 a b 的速度,計算t 0時兩個點的距離的最小值。輸入的第一行包含乙個整數 t 1 t 200 表示一共有 t 組測試資料。對於每組測試資料,第一行包含4個整數 x a y a v ax v ay 103 x a y a v...

編輯最短距離

給定兩個字串s和t,對於t我們允許三種操作 1 在任意位置新增任意字元 2 刪除存在的任意字元 3 修改任意字元 問最少操作多少次可以把字串t變成s?例如 s abcf t dbfg 那麼我們可以 1 把d改為a 2 刪掉g 3 加入c 所以答案是3。1 把t中字元全刪了,再新增s的全部字元,操作次...

素數最短距離問題

素數距離問題 時間限制 3000 ms 記憶體限制 65535 kb 難度 2 描述現在給出你一些數,要求你寫出乙個程式,輸出這些整數相鄰最近的素數,並輸出其相距長度。如果左右有等距離長度素數,則輸出左側的值及相應距離。如果輸入的整數本身就是素數,則輸出該素數本身,距離輸出0 輸入第一行給出測試資料...