線段間最短距離

2021-06-22 04:27:58 字數 326 閱讀 7581

計算平面上兩條線段之間的最短距離:

兩線段用其端點s1: (p1a,p1b),s2: (p2a,p2b)表示

s1, s2上距離最近的兩點之間的距離d(s1,s2),定義為。分為三種情況討論。

a. 若兩線段有交點,距離d為0

b. 計算兩線段端點到對方線段所在直線l1, l2的距離。

d(p1a,l2), d(p1b,l2), d(p2a,l1),d(p2b,l1)

選擇距離最小,且垂足落在對方線段內的,作為d(s1,s2)

c. 若四個垂足都落在對方線段外,計算四個端點兩兩匹配的距離作為d(s1,s2)

from: 

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 輸入第一行給出測試資料...