關於為什麼最遠點對一定在凸包上的證明(可能偽證了求dalao指出)
分析一波為什麼最遠的點對一定是在凸包上:
如上圖,給出了平面內的一堆點,凸包已畫出。對於給出的點,只有兩種情況:在凸包上或在凸包內,所以我們需要否認兩種情況:1.最遠點對均在凸包內。2.最遠點對一個在凸包上一個在凸包內。
1.最遠點對均在凸包內
我們在凸包內任選一個點,向凸包上的所有點連邊(如上圖所示)
這樣所有在凸包內的點一定就被分在了某個三角形內了(或者三角形邊上)
所以情況轉化為下圖所示:
所以問題就轉化為證AD<AB或者AD<AC。
我們延長AD至BC,得到下圖:
所以就有,如果有AD>AB,那麼AE>AB,,。
所以就有,所以就有AC>AE>AD,所以最遠點對一定不會在內部。
2.最遠點對一個在凸包上,一個在凸包內
證法其實與上面相同,只是將A,B,C都視作凸包上的點,D視為凸包內一點,仍然可得AB,AC至少有一個會比AD長。
所以綜上可以得到最遠點對一定在凸包上了。。。。。。。吧。。。。。。。。(如果有紕漏請指出我會馬上修正)
相關推薦
關於為什麼最遠點對一定在凸包上的證明(可能偽證了求dalao指出)
分析一波為什麼最遠的點對一定是在凸包上: 如上圖,給出了平面內的一堆點,凸包已畫出。對於給出的點,只有兩種情況:在凸包上或在凸包內,所以我們需要否認兩種情況:1.最遠點對均在凸包內。2.最遠點對一個在凸包上一個在凸包內。 1.最遠點對均在凸包內 我們在凸包內任選一個
【凸包+旋轉卡殼(最遠點對)】POJ
Bessie, Farmer John's prize cow, has just won first place in a bovine beauty contest, earning the title 'Miss Cow World'. As a result, B
【51NOD1766】樹上的最遠點對(線段樹,LCA,RMQ)
long exit div ssi put lac shu 最值 最遠點對 題意:n個點被n-1條邊連接成了一顆樹,給出a~b和c~d兩個區間, 表示點的標號請你求出兩個區間內各選一點之間的最大距離,即你需要求出max{dis(i,j) |a<=i<=b,c&l
[51nod] 1766 樹上的最遠點對
2-2 然而 移植 list pac put href || 感謝 1766 樹上的最遠點對 基準時間限制:3 秒 空間限制:524288 KB 分值: 80 難度:5級算法題 n個點被n-1條邊連接成了一顆樹,給出a~b和c~d兩個
51nod1766 樹上的最遠點對
pan std none blog 歐拉 mage ace 第一個 print n<=1e5個點的樹有邊權,m個詢問,每次問max dis(i,j) a<=i<=b,c<=j<=d。 結論:一個區間的最遠點對,要麽是其左半區間的最遠點對,要麽是
51nod 1766 樹上的最遠點對(線段樹)
最長路 char esp swa lin shu wap pen lib 像樹的直徑一樣,兩個集合的最長路也是由兩個集合內部的最長路的兩個端點組成的,於是我們知道了兩個集合的最長路,枚舉一下兩兩端點算出答案就可以合並了,所以就可以用線段樹維護一個區間裏的最長路了。
POJ - 2187 Beauty Contest(最遠點對)
while cond cdd eps std val esp wap pan http://poj.org/problem?id=2187 題意 給n個坐標,求最遠點對的距離平方值。 分析 模板題,旋轉卡殼求求兩點間距離平方的最大值。 #include<
ArcGIS案例學習筆記-點集中最近點對和最遠點對
-s p s 查找 lac std 9.png col 技術 font ArcGIS案例學習筆記-點集中最近點對和最遠點對 聯系方式:謝老師,135-4855-4328,[email protected] 目的:對於點圖層,查找最近的點對和最遠的點對 數據:
【做題】51Nod1766樹上的最遠點對——直徑&線段樹
原文連結 https://www.cnblogs.com/cly-none/p/9890837.html 題意:給出一棵大小為\(n\)的樹,邊有邊權。\(m\)次詢問,每次給出兩個標號區間\([a,b]\)和\([c,d]\),求\(\max {dis(i,j) \ | \ a \leq i \le
1766 樹上的最遠點對 線段樹+最近公共祖先
題解: 看到多個區間詢問就應該要考慮用資料結構維護了。考慮用線段樹,每個區間維護兩個點,表示編號在這個區間內的點構成的樹的直徑的兩個端點,然後就可以直接合並了。 合併的時候要求 O
51Nod.1766.樹上最遠點對(樹的直徑 RMQ 線段樹/ST表)
題目連結 \(Description\) 給定一棵樹。每次詢問給定\(a\sim b,c\sim d\)兩個下標區間,從這兩個區間中各取一個點,使得這兩個點距離最遠。輸出最遠距離。 \(n,q\leq10^5\)。 \(Solution\) 一個集合直徑的兩端點,在被劃分為兩個集合後一定是兩個集合直徑
樹上的最遠點對 51Nod - 1766
https://www.51nod.com/Challenge/Problem.html#!#problemId=1766 在點集S1 S2中各找出兩個最遠的點 將S1 S2合併後最遠的兩個點一定在這四個點之間 滿足區間可加性 線段樹優化 還有就是求LCA 發現之前一直寫的是假演算法 每次查
51nod1766 樹上的最遠點對 線段樹維護直徑
Description n個點被n-1條邊連線成了一顆樹,給出aba~bab和cdc~dcd兩個區間,表示點的標號請你求出兩個區間內各選一點之間的最大距離,即你需要求出maxdis(i,j)∣a<=i<=b,c<=j&a
GRL_5_A Diameter of a Tree 樹的直徑(最遠點對)
題意: 給出無向圖,求出樹的直徑 分析: 任選一個點,計算出距離這個點最遠的點x 從x出發找出距離x最遠的點y 則x-y即為所求。 #include<bits/stdc++.h> using namespace std; const int max
最小點對分治法(洛谷1257)
分治法 nbsp fin -m 描述 ron can 復雜 集中 題目描述 給定平面上n個點,找出其中的一對點的距離,使得在這n個點的所有點對中,該距離為所有點對中最小的 輸入樣例#1: 3 1 1 1 2 2 2 輸出樣例#1: 1.0000首先我
java學習(10):求最接近點對問題
sta poi span exti ++ null @override over max 1 import java.util.ArrayList; 2 import java.util.Collections; 3 import java.util.List
BZOJ 4520 [Cqoi2016]K遠點對(KD樹)
font www tdi 進行 修改 距離 [1] ons blank 【題目鏈接】 http://www.lydsy.com/JudgeOnline/problem.php?id=4520 【題目大意】 求K遠點對距離 【題解】 修改估價
【分治法】最接近點對問題(轉)
線性 sig 2個 線性時間選擇 i++ srand 排序算法 esp 坐標 轉自:http://blog.csdn.net/liufeng_king/article/details/8484284 問題場景:在應用中,常用諸如點、圓等簡單的幾何對象代表現實世界中的實體。在
一維最接近點對
urn const turn ret using i++ pac sort blog #include <cstdio>#include <cstdlib>#include <algorithm>using namespace std;c
平面最接近點對問題(分治法)
技術 src void emp image mage tar 分治 pac 問題描述參見:https://www.cnblogs.com/zyxStar/p/4591897.html 代碼參考:http://blog.csdn.net/qq_28666193/articl