随笔分类 -  计算几何—思路题

摘要:题意 "题目链接" Sol 讲一下我的乱搞做法。。。。 首先我们可以按极角排序。然后对$y$轴上方/下方的加起来分别求模长取个最大值。。 这样一次是$O(n)$的。 我们可以对所有向量每次随机化旋转一下,然后执行上面的过程。数据好像很水然后就艹过去了。。。 cpp include define LL 阅读全文
posted @ 2019-02-15 15:07 自为风月马前卒 阅读(416) 评论(0) 推荐(0)
摘要:题意 "题目链接" Sol 暴力做法是$O(n^3)$枚举三个点然后check一下是否能包含所有点 考虑一种随机算法,首先把序列random_shuffle一下。 然后我们枚举一个点$i$,并维护一个当前的圆。 再枚举一个点$j$,如果该点在圆内继续,否则用$i, j$构造出的圆替换出之前的圆。 再 阅读全文
posted @ 2019-02-14 15:47 自为风月马前卒 阅读(322) 评论(0) 推荐(0)
摘要:题意 Sol 非常好的一道题,幸亏这场比赛我没打,不然我估计要死在这个题上qwq 到不是说有多难,关键是细节太多了,我和wcz口胡了一下我的思路,然后他写了一晚上没调出来qwq 解法挺套路的,先提出一个$x$ 然后维护一堆直线对应的上凸壳 在凸壳上二分即可。 由于这题的$x$很小,直接处理出答案就行 阅读全文
posted @ 2018-09-04 10:56 自为风月马前卒 阅读(325) 评论(0) 推荐(1)
摘要://参考的刘汝佳老师 1 #include 2 #include 3 #include 4 #include 5 #define Vector Point 6 using namespace std; 7 inline void read(int &n) 8 { 9 char c='+';bool flag=0;n=0; 10 while(c'9'){c=getc... 阅读全文
posted @ 2017-08-13 16:27 自为风月马前卒 阅读(322) 评论(0) 推荐(0)
摘要:按照刘汝佳老师说的,这道题本身没有什么算法可言, 主要是考察选手对于几何算法的应用, 我们已经知道了点A,B,C 如果要求点D的话 我们可以先求出向量C-B的坐标,然后求出向量C-B与A-B的夹角。 再把夹角/3,这样我们就找到了∠CBD的度数。 再把向量C-B逆时针旋转∠CBD度 就求出了点D的坐 阅读全文
posted @ 2017-08-12 10:00 自为风月马前卒 阅读(290) 评论(0) 推荐(0)

Contact with me