传送门
题意:动态插入点,维护凸包面积。
思路:用 s e t set set维护极角序来支持面积查询即可。
然后注意选原点的时候要从初始三个点随机平均系数来避免精度误差。
代码:
#include<bits/stdc++.h>
#define ri register ll
using namespace std;
typedef long long ll;
inline ll read(){
ll ans=0;
bool f=1;
char ch=getchar();
while(!isdigit(ch)){
if(ch=='-')f^=1;ch=getchar();}
while(isdigit(ch))ans=(ans<<3)+(ans<<1)+(ch^48),ch=getchar();
return f?ans:-ans;
}
struct pot{
ll x,y;
double ang;
pot(ll _x=0,ll _y=0):x(_x),y(_y){
}
pot(ll _x,ll _y,double _ang):x(_x),y(_y),ang(_ang){
}
friend inline pot operator+(const pot&a,const pot