題目:bzoj1069、洛谷p4166。
題目大意:
平面上給定n個點,讓你選4個點,使得其圍成的多邊形面積最大。求這個面積。
解題思路:
首先顯然的,要使面積最大,則點肯定在凸包上。
然後,由於資料較小\(n\leqslant 1500\),我們列舉四邊形對角線的兩個點,然後相當於在對角線兩側分別找1個點使得三個點圍成的三角形面積最大。
旋轉卡殼。
c++ code:
#includeint n;struct point;};
inline point operator-(const point&rhs);};
inline bool operator<(const point&rhs)const
double anss[2021][2021];
void graham(point*a,int n)
}int main()
}printf("%.3f\n",ans/2);
return 0;
}
SCOI2007 最大土地面積
time limit 1 sec memory limit 128 mb submit 3998 solved 1620 submit status discuss 在某塊平面土地上有n個點,你可以選擇其中的任意四個點,將這片土地圍起來,當然,你希望這四個點圍成 的多邊形面積最大。第1行乙個正整數n...
SCOI2007 最大土地面積
嘟嘟嘟 無意間看到了乙個計算幾何。n 2000 就很愉快了。列舉求完凸包後 o n 2 列舉對角線,然後另兩個點用旋轉卡殼維護就完事了。結果資料 或是題意 坑人,有的有重複的點,如果選了兩個重複的點的話就算成三角形了 憑什麼 所以應該求乙個最簡凸包 就是點最少 哎,本來十幾分鐘就寫完了的,因為這個坑...
SCOI2007 最大土地面積
題意 從n個點裡選4個點圍成乙個四邊形,求四邊形的最大面積。n leq 2000 題解 列舉對角線,預處理每條對角線左邊 右邊的面積最大點,類似於旋轉卡殼。複雜度 o n include define maxn 5005 define maxm 500005 define inf 0x7ffffff...