bzoj4311: 向量(线段树分治+凸包)

该博客介绍了如何利用线段树分治解决一个几何问题,涉及向量的插入、删除及查询点积最大值。在处理过程中,博主通过构建线段树并维护每个节点的凸包,实现查询时在线段树节点的凸包上进行二分查找,从而高效地解决复杂几何问题。
摘要由CSDN通过智能技术生成

传送门
题意:
支持插入一个向量,删去某一个现有的向量,查询现有的所有向量与给出的一个向量的点积的最大值。


思路:
考虑线段树分治。
先对于每个向量处理出其有效时间放到线段树上面,然后考虑查询:对于两个已有的向量 ( u 1 , v 1 ) (u_1,v_1) (u1,v1) ( u 2 , v 2 ) (u_2,v_2) (u2,v2),假设给出的向量为 ( x 0 , y 0 ) (x_0,y_0) (x0,y0) u 1 > u 2 & & ( u 1 , v 1 ) ⋅ ( x 0 , y 0 ) > ( u 2 , v 2 ) ⋅ ( x 0 , y 0 ) u_1>u_2\&\&(u_1,v_1)\cdot(x_0,y_0)>(u_2,v_2)\cdot(x_0,y_0) u1>u2&&(u1,v1)(x0,y0)>(u2,v2)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值