題意:
從n個點裡選4個點圍成乙個四邊形,求四邊形的最大面積。
$n\leq 2000$。
題解:列舉對角線,預處理每條對角線左邊/右邊的面積最大點,類似於旋轉卡殼。
複雜度$o(n^)$。
**:
#include#define maxn 5005最大土地面積#define maxm 500005
#define inf 0x7fffffff
#define eps 1e-8
#define ll long long
#define ld long double
#define rint register int
#define debug(x) cerr<
namespace
std;
struct
node;}
node
operator-(const node b)const;}
ld operator*(const node b)const
//bool operator
}a[maxn],s[maxn];
ld p[maxn][maxn];
inline
intread()
inline ld dis(node a)
inline
bool cmp1(node a,node b)
inline
bool cmp2(node a,node b)
inline
int graham(int
n)int
main()
for(int i=1,k=1;i<=n;k=++i)
for(int j=i+2;j<=n;j++)
ld ans=0
;
for(int i=1;i<=n;i++)
for(int j=i+2;j<=n;j++)
ans=max(ans,p[i][j]+p[j][i]);
printf(
"%.3lf\n
",ans*0.5
);
return0;
}
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 最大土地面積
題目 bzoj1069 洛谷p4166。題目大意 平面上給定n個點,讓你選4個點,使得其圍成的多邊形面積最大。求這個面積。解題思路 首先顯然的,要使面積最大,則點肯定在凸包上。然後,由於資料較小 n leqslant 1500 我們列舉四邊形對角線的兩個點,然後相當於在對角線兩側分別找1個點使得三個...