BZOJ1069 SCOI2007 最大土地面積

2022-03-27 07:51:58 字數 1033 閱讀 5706

資料範圍2000,我們如果列舉對角線然後走呢,是不是n^3呢,仔細一想不是。

因為面積是乙個單增的過程,所以建完凸包以後列舉對角線複雜度就是n^2的。

因此這題我們就從乙個四邊形面積轉化為兩個三角形面積。

by:大奕哥

1 #include2

using

namespace

std;

3 typedef double

db;4

const

int inf=1e9;

5const

int n=2005;6

struct

node

7a[n],p0,s[n];

11int

n,top;

12bool

cmp(node a,node b);

18db mul(node a,node b)

1922

db calcs(node a,node b,node z)

2328

db solve()

2941

while(fabs(calcs(s[p2],s[i],s[j]))1

],s[i],s[j])))

4245 ans=max(ans,fabs(calcs(s[p2],s[i],s[j]))+fabs(calcs(s[p1],s[i],s[j])));46}

47}48return

ans;49}

50int

main()

5159 swap(a[pos],a[1]);p0=a[1

];60 sort(a+2,a+1+n,cmp);

61 s[++top]=a[1];s[++top]=a[2

];62

for(int i=3;i<=n;++i)

6367 printf("

%.3lf

",solve()/2

);68

return0;

69 }

bzoj1069 SCOI2007 最大土地面積

在某塊平面土地上有n個點,你可以選擇其中的任意四個點,將這片土地圍起來,當然,你希望這四個點圍成的多邊形面積最大。第1行乙個正整數n,接下來n行,每行2個數x,y,表示該點的橫座標和縱座標。最大的多邊形面積,答案精確到小數點後3位。50 0 1 01 1 0 10.5 0.5 1.000 資料範圍 ...

bzoj1069 SCOI2007 最大土地面積

description 在某塊平面土地上有n個點,你可以選擇其中的任意四個點,將這片土地圍起來,當然,你希望這四個點圍成 的多邊形面積最大。input 第1行乙個正整數n,接下來n行,每行2個數x,y,表示該點的橫座標和縱座標。output 最大的多邊形面積,答案精確到小數點後3位。sample i...

bzoj1069 SCOI2007 最大土地面積

description 在某塊平面土地上有n個點,你可以選擇其中的任意四個點,將這片土地圍起來,當然,你希望這四個點圍成 的多邊形面積最大。input 第1行乙個正整數n,接下來n行,每行2個數x,y,表示該點的橫座標和縱座標。output 最大的多邊形面積,答案精確到小數點後3位。sample i...