摘要: 将所有点极角排序,建立线段树,线段树每个节点维护该区间内所有点组成的上下凸壳。对于一个查询,二分查找出相应区间的左右端点,在线段树上得到$O(\log n)$个节点,在相应凸壳上三分查找出与斜边叉积最大的那个点,看看是否为正即可。时间复杂度$O(n\log^2n)$。#include#include... 阅读全文
posted @ 2016-01-20 21:42 Claris 阅读(327) 评论(0) 推荐(0)
摘要: 将所有权值离散化,建立权值线段树,维护区间内数字个数以及对数的和,用于比较乘积大小。对于每个连通块维护一棵权值线段树,合并时用线段树合并。对于操作3和4,暴力删除所有不合法节点,然后一并修改后插入线段树即可。时间复杂度$O(m\log m)$。#include#include#includeusin... 阅读全文
posted @ 2016-01-20 01:05 Claris 阅读(880) 评论(0) 推荐(0)