BZOJ 4311 向量


题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=4311

题意:

你要维护一个向量集合,支持以下操作:
1. 插入一个向量 (x,y)
2. 删除插入的第 i 个向量
3. 查询当前集合与 (x,y) 点积的最大值是多少。如果当前是空集输出 0

考虑点积的意义,可以看做是一条无限长的与给定向量垂直的直线从无穷远扫描过来,卡到的第一个点。
显然是凸壳上的点,所以维护凸包然后三分下即可。
发现有删除操作,于是线段树分治干掉。
只有插入操作了,比较 naive 可以上平衡树维护凸包...
发现答案具有传递性,即在每个凸壳上找答案,最后取最优解即为最优解。


 

声明:zgz233|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - BZOJ 4311 向量


一个oier的博客 |注册功能过几天就修| 博客搬家啦,现在跑的飞快!

标签: , , ,