摘要: 惨啊…… 被卡常是一种什么感受&…… 很明显的分治。 我们首先可以找到所有点中的最低点,然后对所有点进行一次极角排序,选取一个点使得他各侧飞弹和地堡一样多,并对两侧继续进行分治。 很容易证明这样做的正确性。 然而这样做是\(n^{2}log(n)\)。所以我们需要加些玄学的优化……比如通过增加每次分 阅读全文
posted @ 2016-08-30 15:23 AwD! 阅读(417) 评论(0) 推荐(0) 编辑
摘要: 如果原点能被一个光源照到,那么这两个点之间一定没有任何球。我们可以通过三分距离来确定某线段和球是否有交点。 注意到m非常小,于是我们可以枚举原点被哪些光源照到。由于\(O(3^{m}*n)\)会超时,我们可以对每个光源需要移走那些球进行压位。 复杂度\(O(3^{m}*n / w)\) 跑的有点慢啊 阅读全文
posted @ 2016-08-30 15:15 AwD! 阅读(249) 评论(1) 推荐(0) 编辑
摘要: 学习了一下圆方树。 圆方树是一种可以处理仙人掌的数据结构,具体见这里:http://immortalco.blog.uoj.ac/blog/1955 简单来讲它是这么做的:用tarjan找环,然后对每个环建立一个新点,然后将环上的边删去,并环上的每个点都连到新点上。这样我们就可以把一个环缩成一个菊花 阅读全文
posted @ 2016-08-04 00:15 AwD! 阅读(1464) 评论(2) 推荐(0) 编辑