
计算几何---计算几何基础
文章平均质量分 63
forezxl
水君一枚
展开
-
叉积和点积及其应用简介
点积定义在二维平面直角坐标系中,设a⃗ =(x1,y1),b⃗ =(x2,y2)a→=(x1,y1),b→=(x2,y2)\vec{a}=(x_1,y_1),\vec{b}=(x_2,y_2),则a⃗ ⋅b⃗ =|a⃗ ||b⃗ |cosθa→⋅b→=|a→||b→|cosθ\vec{a}\cdot\vec{b}=|\vec...原创 2018-04-07 21:16:15 · 1181 阅读 · 0 评论 -
BZOJ1007: [HNOI2008]水平可见直线
计算几何相关题目传送门画画图就可以发现其实是维护一个下凸壳,像这样(图中绿色部分): 其它的都不可能在答案里。那么我们以斜率为第一关键字,截距为第二关键字排个序,斜率相同的保留截距最大的那一个。然后用一个单调栈维护。当当前直线与栈顶直线交点在栈顶直线与栈顶下面那个直线交点的左边(就是比栈顶先交到,相当于把栈顶盖住)时弹出栈顶,如下图所示,绿色为当前直线,红色为栈顶直线。 ...原创 2018-04-13 15:38:08 · 240 阅读 · 0 评论 -
BZOJ3190: [JLOI2013]赛车(洛谷P3256)
计算几何相关BZOJ题目传送门 洛谷题目传送门设初始位置为截距,速度为斜率,那么就和BZOJ1007一样了。多判一下交在第二象限的情况。代码:#include<cmath>#include<cctype>#include<cstdio>#include<cstring>#include<algorithm>...原创 2018-04-13 15:49:34 · 297 阅读 · 0 评论 -
BZOJ1043 [HAOI2008]下落的圆盘(洛谷P2510)
计算几何基础BZOJ题目传送门 洛谷题目传送门对于一个圆,它对答案的贡献就是周长-被覆盖的长度,那么重点就是求一个圆被另一个圆覆盖的长度。我们可以把这个圆沿x正半轴顺时针展开,那么这个圆就变成了一条线段。其它圆的覆盖就变成了线段覆盖了。两个圆相交的情况如下图所示,利用余弦定理可以求出交点与两圆心连线的夹角,再利用atan2函数求出极角,就可以对应到区间上了。注意判断<...原创 2018-05-06 15:13:51 · 569 阅读 · 1 评论 -
洛谷P3897 [湖南集训]Crazy Rabbit(BZOJ3663 4660 4206)
计算几何 LIS洛谷题目传送门 BZOJ3663 BZOJ4660 BZOJ4206这套题老师拿给我们考简直有毒神题根本不会做,考场上就写了个10分代码。%%%liu_runda我们通过看题解画图可以发现,当两个点的切点所对应的弧相交且不包含时才能满足题意。差不多长这样: 和[HAOI2008]下落的圆盘这道题一个套路,我们把圆上的点对应到区间上来。原问题转...原创 2018-06-02 21:30:38 · 352 阅读 · 3 评论