嘟嘟嘟
無意間看到了乙個計算幾何。
\(n <= 2000\)就很愉快了。列舉求完凸包後\(o(n ^ 2)\)列舉對角線,然後另兩個點用旋轉卡殼維護就完事了。
結果資料(或是題意)坑人,有的有重複的點,如果選了兩個重複的點的話就算成三角形了(憑什麼),所以應該求乙個最簡凸包(就是點最少)。
哎,本來十幾分鐘就寫完了的,因為這個坑爹錯誤找了半天。
#include#include#include#include#include#include#include#include#include#includeusing namespace std;
#define enter puts("")
#define space putchar(' ')
#define mem(a, x) memset(a, x, sizeof(a))
#define in inline
typedef long long ll;
typedef double db;
const int inf = 0x3f3f3f3f;
const db eps = 1e-8;
const int maxn = 2e3 + 5;
inline ll read()
inline void write(ll x)
int n;
struct point
; }
in point operator - (const point& oth)const
; }
in db operator * (const point& oth)const
friend in db dis(point a)
}p[maxn], s;
in bool cmp(point& a, point& b)
int st[maxn], top = 0;
in void graham()
}db ans = 0;
in db calc(point a, point b, point c, point d)
in int nxt(int x)
in void rota()
}}int main()
SCOI2007 最大土地面積
time limit 1 sec memory limit 128 mb submit 3998 solved 1620 submit status discuss 在某塊平面土地上有n個點,你可以選擇其中的任意四個點,將這片土地圍起來,當然,你希望這四個點圍成 的多邊形面積最大。第1行乙個正整數n...
SCOI2007 最大土地面積
題意 從n個點裡選4個點圍成乙個四邊形,求四邊形的最大面積。n leq 2000 題解 列舉對角線,預處理每條對角線左邊 右邊的面積最大點,類似於旋轉卡殼。複雜度 o n include define maxn 5005 define maxm 500005 define inf 0x7ffffff...
SCOI2007 最大土地面積
題目 bzoj1069 洛谷p4166。題目大意 平面上給定n個點,讓你選4個點,使得其圍成的多邊形面積最大。求這個面積。解題思路 首先顯然的,要使面積最大,則點肯定在凸包上。然後,由於資料較小 n leqslant 1500 我們列舉四邊形對角線的兩個點,然後相當於在對角線兩側分別找1個點使得三個...