資料範圍2000,我們如果列舉對角線然後走呢,是不是n^3呢,仔細一想不是。
因為面積是乙個單增的過程,所以建完凸包以後列舉對角線複雜度就是n^2的。
因此這題我們就從乙個四邊形面積轉化為兩個三角形面積。
by:大奕哥
1 #include2using
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...