bzoj 1069 最大土地面積

2022-06-01 13:00:15 字數 933 閱讀 8717

題目大意:

一些點,選四個點使這圍成的四邊形面積最大

思路:首先可以知道這些點一定在凸包上,然後graham求一下凸包

然後我們可以列舉對角線在兩邊找最遠的點

然而這樣複雜度爆了

所以我們可以利用旋轉卡殼的思想

列舉對角線的時候確定乙個點,然後旋轉另乙個點,如果確定了另外兩個點,則另外兩個點也一起轉

1 #include2 #include3 #include4 #include5 #include

6 #include7 #include8 #include9

#define inf 2147483611

10#define ll long long

11using

namespace

std;

12 inline int

read()

1316

while(isdigit(ch))

17return x*f;18}

19int

n,top;

20struct

node21;

26}27double

operator * (const node &a) const

2831 }pt[2005],st[2005

];32

double dis(node a,node b)

33bool

cmp(node a,node b)

3439

void

g()4052}

53int

main()

5470

}71 printf("

%.3lf

",ans/2.0

);72

return0;

73}74

view code

BZOJ 1069 最大土地面積

給出平面上的一些點,找出四個點使這四個點圍成的面積最大。首先這四個點肯定在凸包上 顯然。所以求出凸包後 n 地列舉乙個點,之後利用旋轉卡殼求出與這個點相距最遠的點,然後列舉所有點找出兩邊三角形的最大面積取最大即可。這題主要是板子吧,背會就好背會就好 include include include i...

bzoj1069 最大土地面積

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

BZOJ 1069 最大土地面積(旋轉卡殼)

time limit 1 sec memory limit 128 mb submit 3475 solved 1385 submit status discuss 在某塊平面土地上有n個點,你可以選擇其中的任意四個點,將這片土地圍起來,當然,你希望這四個點圍成 的多邊形面積最大。第1行乙個正整數n...