社区讨论

关于此题的一个小想法

P11134【MX-X5-T6】「GFOI Round 1」Abiogenesis参与者 4已保存回复 17

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
15 条
当前快照
1 份
快照标识符
@m1s1nex8
此快照首次捕获于
2024/10/02 23:50
去年
此快照最后确认于
2025/11/05 00:05
4 个月前
查看原帖
考虑boruvka算法。我们需要进行O(nlog2n)O(n\log_2n)次询问某个连通块内的某个点到其他连通块内的点的最小边权。
考虑如下做法:设当前点为xx,我们需要知道min(ax+ay+bxby)=ax+min(ay+bxby)\min(a_x+a_y+|b_x-b_y|)=a_x+\min(a_y+|b_x-b_y|)。考虑分bx>byb_x>b_ybxbyb_x\leq b_y讨论。假设bx>byb_x>b_ybxbyb_x\leq b_y)类似。我们要求ax+min(ay+bxby)=ax+bx+min(ayby)a_x+\min(a_y+b_x-b_y)=a_x+b_x+\min(a_y-b_y)x,yx,y对应区间相交)。考虑给每个点ii染色cic_icic_i是整数)。相同/不同连通块的颜色是相同/不同的。
考虑对li,ril_i,r_i扫描线。(因为不扫描线要4个log)。在我们插入某个区间时,这个区间会对其他不和它在同一个连通块内的区间产生贡献。而这个区间的最小出边也会被所更新。可以用如下数据结构维护:这个结构支持每次对于一个点xx,查询满足bx>by,cxcyb_x>b_y,c_x\neq c_y(把cxcyc_x\neq c_y拆成cx>cyc_x>c_y或者cxcyc_x\leq c_y,就变成了二维平面的查询)的点yyaybya_y-b_y的最小值,或者给定一个点yy,将满足bx>by,cxcyb_x>b_y,c_x\neq c_ycx>cyc_x>c_y或者cxcyc_x\leq c_y)的点xxaybya_y-b_y取最小值。可以用嵌套线段树维护(要先删除再插入,否则不相交的区间会互相产生贡献)。时间复杂度是3个log。
不知道能不能过

回复

17 条回复,欢迎继续交流。

正在加载回复...