上一页 1 ··· 21 22 23 24 25 26 27 28 29 ··· 66 下一页
摘要: IX.[ZJOI2008]瞭望塔 ZJOI2008咋总喜欢考这种计算几何的题啊…… 同我们的IV.监视摄像机[CTSC1998]一样,本题相当于求多边形的核,可以使用半平面交。但因为和VI.[HNOI2008]水平可见直线一样,所有半平面都是向上的,故直接求凸包即可。 发现求完凸包后,答案的横坐标一 阅读全文
posted @ 2021-04-05 20:15 Troverld 阅读(93) 评论(0) 推荐(0)
摘要: VIII. 题解 阅读全文
posted @ 2021-04-05 20:14 Troverld 阅读(65) 评论(0) 推荐(0)
摘要: VII.[BalticOI 2005] Polygon 题解 阅读全文
posted @ 2021-04-05 20:12 Troverld 阅读(45) 评论(0) 推荐(0)
摘要: VI.[HNOI2008]水平可见直线 一开始以为这是半平面交模板;后来一想,直接求出凸包来就行了。 我们仍然将所有直线按照斜率从小到大排序。不过这时,我们只需要使用单调栈维护即可。 具体而言,设栈顶次位、首位直线分别为$y=k_1x+b_1,y=k_2x+b_2$ 则其交点位于 \(\Bigg(\ 阅读全文
posted @ 2021-04-05 20:10 Troverld 阅读(82) 评论(0) 推荐(0)
摘要: V.[NOI2004]降雨量 本题思路就和I.[HNOI2012]三角形覆盖问题差不多了。 首先,我们特判掉有长度为$W$的伞的情况——此时答案即为$0$。 否则,对于每一时刻,我们计算出下面三种情况中,最先来到的一个: 有一把伞撞到了边缘 有两把伞,它们的某两个边缘相遇了(不管是哪两个边缘) 时刻 阅读全文
posted @ 2021-04-05 20:08 Troverld 阅读(178) 评论(0) 推荐(1)
摘要: IV.[CTSC1998]监视摄像机 这题就是半平面交模板。因为能看到一条边某侧的所有位置的一个点必定处于此边所在直线的内侧,故直接求半平面交即可。 另外,这题#5的第39个测试点似乎出了问题,得特判掉。 代码: #include<bits/stdc++.h> using namespace std 阅读全文
posted @ 2021-04-05 20:05 Troverld 阅读(104) 评论(0) 推荐(0)
摘要: III.[CQOI2006]凸多边形 /【模板】半平面交 半平面交开始~~ 这里介绍一种做法:随机增量法,其可以在$O(n\log n)$的时间内完成半平面交的求解。 首先,我们可以用一个向量来表示直线;之所以使用向量来表示,是因为我们将强制该向量的左方表示半平面。 接着,我们考虑将所有直线按照向量 阅读全文
posted @ 2021-04-05 20:02 Troverld 阅读(108) 评论(0) 推荐(0)
摘要: II.CF995C Leaving the Bar 两个$106$的向量求和/差,是无法做到结果必在$106$以内的;但是,如果是三个,就可以做到了。 考虑两个向量。则只有它们的夹角在$[\dfrac{2\pi}{3},\dfrac{4\pi}{3}]$之间时,可以做到。当有三个向量时,则至少存在一 阅读全文
posted @ 2021-04-03 13:23 Troverld 阅读(75) 评论(0) 推荐(0)
摘要: I.[HNOI2012]三角形覆盖问题 扫描线问题是计算几何里面的一大重点……吗? 不管怎么说,这道题的确要使用扫描线解决。 具体来说,因为$n$只有$10000$,考虑使用$O(n^2)$的做法并加以剪枝。 我们首先将所有三角形按照顶点的$x$坐标递增顺序。接着,考虑用扫描线维护每一时刻与扫描线相 阅读全文
posted @ 2021-04-03 13:22 Troverld 阅读(199) 评论(0) 推荐(0)
摘要: XLVII.CF1500E Subset Trick 考虑对于每个集合大小 \(i\),找到所有大小为 \(i\) 的集合中元素和最小的一个 \(l_i\) 与最大的一个 \(r_i\)。则,所有 \(x\in[l_i,r_i)\) 均不合法。 于是我们就要求 \(\Big|\bigcup\limi 阅读全文
posted @ 2021-04-03 13:19 Troverld 阅读(115) 评论(0) 推荐(0)
上一页 1 ··· 21 22 23 24 25 26 27 28 29 ··· 66 下一页