很容易就能看出半平面交的公式...但是比赛的时候这题看都来不及看...
#include
using namespace std;
typedef long long LL;
const int maxn = 1005;
const double eps = 1e-7;
struct Point
{
double x, y;
Point(double x = 0, double y = 0) : x(x), y(y) { }
bool operator 0;
}
Point GetIntersection(Line a, Line b)
{
Vector u = a.P - b.P;
double t = Cross(b.v, u) / Cross(a.v, b.v);
return a.P + a.v * t;
}
int ConvexHull(Point *p, int n, Point *ch)
{
sort(p, p+n);
int m = 0;
for(int i = 0; i 1 && Cross(ch[m-1] - ch[m-2], p[i] - ch[m-2]) = 0; i--) {
while(m > k && Cross(ch[m-1] - ch[m-2], p[i] - ch[m-2]) 1) m--;
return m;
}
Point p[maxn];
Line q[maxn];
int HalfplaneInersection(Line* L, int n, Point* poly)
{
sort(L, L+n);
int first, last;
q[first = last = 0] = L[0];
for(int i = 1; i fabs(b)) P = Point(-c / a, 0);
else P = Point(0, -c / b);
line[cnt++] = Line(P, v);
}
for(int j = 0; j
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net
杂记2 explicit 在 C++ 中,explicit 是一个关键字,用于修饰类的构造函数,其作用是禁止编译器将一个参数构造函数用于隐式类型转换。具体来说,当一个构造函数被 explicit 修饰时,只能通过显式调用来创建该类的对象,而不能通过隐式类型转换…