ことばがありあまれどなお、 このゆめはつづい|

trsins

园龄:3年10个月粉丝:18关注:2

【做题记录】CF1045G AI robots

  • CF1045G AI robots

    • 算法:cdq分治

题目:

火星上有 n 个机器人排成一行,第 i 个机器人的位置为 xi,视野为 si,智商为 qi。我们认为第 i 个机器人可以看到的位置是 [xisi,xi+si]

如果一对机器人相互可以看到,且它们的智商 qi 的差距不大于 k,那么它们会开始聊天。

为了防止它们吵起来,请计算有多少对机器人可能会聊天。

n105,0k20

题解:

考虑一对机器人能互相交流的限制:

(i,j) 这对机器人能交流,不妨钦定 xi<xj,则当且仅当

xi+sixjsj,|qiqj|k

那么这显然是个三维偏序问题。

发现 xi+sixjsj 这个限制涉及两个元素,考虑将 s 从大到小排序,那么可以保证若右边的机器人能看见左边的机器人,则左边的必然也能看见右边的。

然后因为 k 是定量,所以第二维就是以 q 为关键字排序。

然后记得将位置离散化一下。

本文作者:trsins

本文链接:https://www.cnblogs.com/trsins/p/15778159.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   trsins  阅读(24)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示