题意

命数为织,当为磐石!

—塔莉垭,“岩雀”

命运的纹路交织错落。我却磐石那般坚定不移。

岩雀的一次 Q Q Q·石穿 可以被理解在平面上画一个圆,圆的解析式是 ( x − x i ) 2 + ( y − y i ) 2 = r i 2 (x-x_i)^2+(y-y_i)^2=r_i^2 (x−xi​)2+(y−yi​)2=ri2​。其中 ∣ x i ∣ , ∣ y i ∣ ≤ 1 0 9 , 0 < r i ≤ 1 0 9 |x_i|,|y_i| \le 10^9,0<r_i \le 10^9 ∣xi​∣,∣yi​∣≤109,0<ri​≤109。

然而,一次合法的Q·石穿要求不能和任何一个别的Q·石穿相交(有两个交点),内切,内含。

美团、高哥很牛进行了 2 ≤ n ≤ 5 × 1 0 5 2 \le n \le 5 \times 10^5 2≤n≤5×105 次合法的 Q·石穿。我们说,一个下饭是一个无序二元组,里面是两个标号不同的Q·石穿,使得这两个圆外切。如果你不知道外切是什么意思,你可以咨询你的初中数学老师。

我的问题是,他总共打了多少个不同的下饭操作?

子任务特征 分值 n ≤ n \le n≤
10 5000
保证答案 ≤ n \le n ≤n 10 80000
坐标范围 − 1000 ≤ x i , y i ≤ 1000 -1000 \le x_i,y_i \le 1000 −1000≤xi​,yi​≤1000 15 100000
只存在两种圆, ( 10 a , 6 b ) , r i = 3 (10a,6b),r_i=3 (10a,6b),ri​=3 和 ( 10 a + 4 , 6 b + 3 ) , r i = 2 (10a+4,6b+3),r_i=2 (10a+4,6b+3),ri​=2 25 500000
40 500000

题解

由于保证圆之间没有交,如果把相切的两个圆连边,那么形成一个平面图,故相切的圆数不会很多,是 O ( n ) O(n) O(n)级别的。

于是考虑一个个找出相切的圆,但 x x x和 y y y坐标难以同时考虑;又注意到如果两个圆相切,那么在切点处垂直 x x x轴的直线上 l l l,两个圆截得的圆弧端点相邻,即所有与这条直线相交的圆心中,这两个圆圆心的 y y y坐标相邻。

于是把这条直线 l l l从左到右扫一遍,加入或删除圆心,同时查看相邻的两个圆是否相切(这样相当于把所有情况的 l l l枚举一边)。但这样可能两个相切的圆在加入和删除时同时被算到,用 m a p map map去重即可。

DTOJ 4841. 岩雀相关推荐

  1. plspl和oracle,LOL2017LSPL春季死啊DS轻取NON ME逆转GD赢得首胜

    LOL2017LSPL春季死啊DS轻取NON ME逆转GD赢得首胜.2月9日,2017<英雄联盟>甲级职业联赛(LSPL)春季常规赛第二周继续进行,在当天的比赛当中,DS在两局比赛中击败N ...

  2. 【天池直播--预告】美女程序猿带你用大数据吃鸡(有内涵-这是一个有大奖的活动)...

    每局杀人都不少,就是吃不到鸡... 别人说我是菜,但宝宝内心委屈,怎样才能变成LYB??? 躺在桥上也可以吃鸡,难道这是一款躲猫猫的游戏?? ----------------------------- ...

  3. 以《英雄联盟》为例,看影响MOBA游戏策略的3个层面

    从<星际争霸>中的"Aeon of Strife"这张地图开创"MOBA"这一概念以来,经过20年左右的发展,MOBA游戏从画面.内容到理论体系都出 ...

  4. 并查集(Union Find Set)

    并查集(Union Find Set) 这篇文章我们来讲一下并查集,什么是并查集呢?来举一个形象的例子. 话说符文之地上居住着各式各样的英雄,他们效忠于自己的国家或部落,整天背着武器在外面执行任务,碰 ...

  5. 清掉数据_大数据超详尽分析,带你看懂打野江湖

    你好,我是苏御 这篇文章结合了opgg(对应韩服数据).ugg(对应欧美数据和出装顺序数据)和lol101(对应国服大数据),再加上我个人在高端局的游戏体验,得出了一份全面的打野解析 耐心读完,相信一 ...

  6. lol8月21号服务器维护,8月21日lol维护公告最新 8.21lol维护到几点

    亲爱的玩家们好,今天小编为大家带来了8月21日lol维护公告最新,相信大家也很好奇吧,一起来看看吧. 8月21日lol维护公告最新 LOL将在8月21日凌晨2点开始全区停机维护(请注意:1点将关闭排位 ...

  7. lol8月21号服务器维护,8月21日英雄联盟更新维护到几点 lol8.21更新维护公告

    英雄联盟要维护到什么时候?英雄联盟8月21日更新维护,本次lol维护的时间很长,更新的内容很多,下面一起来看看l英雄联盟8月21日更新维护公告吧!了解lol详细的更新信息. 英雄 暗裔剑魔 亚托克斯 ...

  8. 对虎牙直播进行爬取,并对信息进行处理分析

    对虎牙直播进行爬取,并对信息进行处理分析 08.16爬虫练手 一.代码 import requests from lxml.html import etree#我们先选个lol专区 response ...

  9. 103000大写加零吗_103000怎样大写不写零

    原标题:10.25九五之尊全新运营思路 万物皆可转 10.25版本九五之尊依然非常强势,只是需要更多的运营思路. 羁绊介绍 2斗士(天选)&2秘术师&2宗师&1忍详情>& ...

最新文章

  1. 5 分钟一次理解 Spring IOC !
  2. 树链剖分——线段树区间合并bzoj染色
  3. 如何在elasticsearch里面使用深度分页功能
  4. CentOS7.6安装Nodejs(Npm)
  5. 如何用pycharm对比两段代码(或两个文件的代码)
  6. 【Python】局部变量和全局变量以及组合数据(列表)类型
  7. LeetCode 第 201 场周赛(304/5614,前5.42%)
  8. JavaTPoint 编程语言中文教程【翻译完成】
  9. 第二届大数据世界论坛 聚焦行业需求
  10. js margin作用到父元素_子元素的 margin-top 传递给了父元素
  11. android n改铃声,来电铃声自定义,我”响“你快乐!
  12. 华为服务器系列产品介绍,裸金属服务器产品介绍
  13. 《2021中国企业数智化转型升级发展研究报告》正式发布丨数据猿上海大数据联盟...
  14. 定时任务——@Scheduled注解做定时任务
  15. 如何清理计算机类重复的文件,怎么删除电脑中的重复文件
  16. 强大的iOS开发必备工具
  17. 截图神器推荐 ShareX
  18. 百度ToB垂类账号权限平台的设计与实践
  19. 计算机毕业设计之SSM的医院挂号就诊系统
  20. 【项目管理】采购、外包、合同

热门文章

  1. 记录POI读取excel表格文件,空行校验
  2. 为什么会有这么多Python
  3. 使用backtrace追踪程序的异常退出
  4. @Target、@Retention、@Documented注解
  5. Ubuntu 12.04 OCZ RevoDrive3 PCI-E performance so bad when cache on
  6. c#将字符串转换为数组_C# 字符串转数组
  7. img标签的onerror事件(应用以及注意事项)
  8. img加载失败时,限制onerror执行次数
  9. 如何在 Windows 11 上安装 RSAT 远程服务器管理工​​具
  10. iphone手机 配置对比