數學/演算法:正方形內有5個點,為什麼最近點對的距離小於邊長?
01-14
一個點位於左邊的三角形中,另一個點位於右邊的三角形中,距離為兩點之間的連線(例如pq)
而在左右兩個d*d正方形區域內,最多都只能含有4個點。如果超過4個點,則這個正方形區域內至少存在一個點對的距離小於d。
以上的結論需要如何證明呢?
------------------------------------------------------
以上的問題是我從《編程之美》的求兩點之間最短距離抽出的一個知識點,如果看過這本書的朋友有沒有遇到以上問題呢=。=書上直接就給出結論了,怎麼想都不明白
樓上的證明看起來比較繁瑣,我來個簡單的。把正方形4等分成4個小正方形,邊長d/2。由抽屜原理,5個點中,至少有兩個點在同一個小正方形里,這兩個點距離最大不超過,證完。
可以用反證法,假設正方形內含有4個以上的點,這些點兩兩之間的距離大於或等於考慮這些點中的4個點,四個點兩兩之間的連線線段有6條,這6條線段兩兩相交於這4個點有12個夾角,我們能證明這12個夾角必有一個角大於或等於90度。於是由余弦定理得到有兩點間的距離大於或等於,從而證明了這個四個點只能分布在正方形的四個頂點上,又第5個點也在正方形的內部,它到這4個點的距離不可能都大於或等於,因此假設不成立,命題得證。關於為什麼必然有一個角大於等於90度,四個點之間的關係可能有以下情況
情況一:四個點中存在三點共線,則明顯有結論;
情況二:四個點中任意三點不共線,考慮其中的三個點,它們形成的三角形為非銳角三角形,則明顯有結論;情況三:四個點中任意三點不共線,考慮其中的三個點,它們形成的三角形為銳角三角形,且第四個點在三角形內,則三條線段形成的三個角的和為360度,這三個角不可能都小於等於90度,所以必有一個大於或等於90度的角。情況四:四個點中任意三點不共線,考慮其中的三個點,它們形成的三角形為銳角三角形,且第四個點在三角形外,則可以作一個凸四邊形。由四邊形內角和為360度,這個四邊形的四個內角和不可能都小於等於90度,則必有一個大於等於90度的角與此類似的,最近點對問題中,給定左平面一點p,右平面中與p距離最近的點的候選個數不超過6。證明與@npbool 回答類似。from 編程之美:平面最近點對
推薦閱讀:
※一個人談過k次戀愛(k大於等於12),那麼他集齊十二星座的概率是多少?
※怎麼定義數學上的「顯而易見」?
※有沒有能讓卡西歐科學計算器計算時間最長的式子?
※可以用一個點記錄下整個世界嗎?
※清華學神韓衍雋 15 門課程 100 分在整個清華乃至中國強到什麼程度?