【BZOJ】1604: [Usaco2008 Open]Cow Neighborhoods 奶牛的邻居-曼哈顿距离转切比雪夫距离&set

17 篇文章 0 订阅
10 篇文章 0 订阅

传送门:bzoj1604


题解

很妙啊!
曼哈顿距离转切比雪夫距离算是个套路了,但是还是很难想到。
(曼哈顿距离同时限制着两个维度的值,而切比雪夫距离对问题实施了降维打击,因为可以排序做到强制一维合法,只处理另一维的信息)

考虑 ( x , y ) (x,y) (x,y)转成 ( x + y , x − y ) (x+y,x-y) (x+y,xy),则 ( i , j ) (i,j) (i,j)有连边当且仅当 m a x ( ∣ x i − x j ∣ , ∣ y i − y j ∣ ) ≤ C max(|x_i-x_j|,|y_i-y_j|)\leq C max(xixj,yiyj)C

将点按 x x x升序排序, s e t set set动态维护和当前点 i i i x x x坐标差值 ≤ C \leq C C的点的 y y y坐标,找到 y i y_i yi的前驱后继,如果距离 ≤ C \leq C C则合并(并查集维护连通性)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值