题目链接多校8-1009 HDU - 6158 The Designer

题意

T(<=1200)组,如图在半径R1、R2相内切的圆的差集位置依次绘制1,2,3,到n号圆,求面积之和(n<=1e7)。

题解

圆的反演:
(圆的反演就是半径为R,圆心O的圆为反演中心,点P的反演点就是在射线OP上满足\(|OP’|*|OP|=R^2\)的点P‘)
设切点为O,以O为圆心半径R的圆为反演点。将圆R1和R2反演得到两条直线,和两条直线相切的圆反演回去的圆就是1~n号圆的圆心。
那么它们的直径就是这些小圆的圆心和O的连线与小圆的交点反演回去的点的距离差。

再扔一次画图工具Desmos

比赛的时候想到这里就以为复杂度太高,不知道怎么预处理。其实到后面圆面积会收敛得很快。精度只要1e-5,就可以及时break掉。

代码

#include <bits/stdc++.h>
using namespace std;
const double pi = acos(-1);
const double R = 1;
int t,r1,r2,n;
double r0,d,a,b,r,s;
double ans;
int main() {scanf("%d",&t);while(t--){scanf("%d%d%d",&r1,&r2,&n);if(r2<r1)swap(r1,r2);d=R*(r1+r2)/r2/r1/4;r0=d-R/2/r1;r=r2-r1;ans=pi*r*r;for(int i=1;i<=n/2;++i){a=sqrt(d*d+i*r0*i*r0*4)-r0,b=a+r0*2;r=(R/a-R/b)/2;s=pi*r*r;ans+=s;if(i*2<n)ans+=s;if(s*(n-i*2)<1e-6){break;}}printf("%.5f\n",ans);}return 0;
}

「HDU6158」 The Designer(圆的反演)相关推荐

  1. 3D建模复原汤加火山爆发!1000颗原子弹当量,人在英国刚被「震」到

      视学算法报道   编辑:好困 袁榭 [新智元导读]2022年汤加火山爆发,字面意义上震动了半个地球的人.从在家DIY树莓派套装监测震波的发烧友,到灾害科学家:从断网受灾的当地人,到刚找到的当地中国 ...

  2. 数学与 AI「融通」 ,徐宗本院士进行超强“迁移学习”

    来源: AI科技评论  编辑 | 唐里 徐宗本院士在数学与 AI 之间进行了一次超强的"迁移学习". 9 月 21 日至 22 日,为期两天的 CCAI 2019 正在秋意浓浓的中 ...

  3. 被「卡脖子」的尖端技术该如何前行?刘明张亚勤等院士大咖为你解惑 | CNCC2020...

    金磊 郑集杨 发自 CNCC现场  量子位 报道 | 公众号 QbitAI 距离世界顶尖,中国「芯」还差多远?又该如何发展? 数字化3.0的浪潮下,该如何突破三大定律的瓶颈? -- 这些大家所关心和讨 ...

  4. 一万字,关于产品「需求」阶段的思维公式,都在这儿了

    本文由作者 亨哼 发布于社区 前段时间,我跟几位产品新同学讨论一个问题,产品经理的职责是什么?大家七嘴八舌说了很多,有的说项目管理.有的说功能设计.有的说用户调研,当然,这些都是,其中有个同学回答说: ...

  5. 12岁女孩自学成才考上亚利桑那大学,博士母亲的家庭教育造就「天才少女」...

    12岁的时候很多人可能刚小学毕业,美国一个黑人小女孩已经在家自学完成了所有高中课程,并成功申请亚利桑那州立大学,她说这一切都是NASA的梦在驱动着她. >>>> Alena W ...

  6. CSS基础「三」盒子模型/产品模块案例/圆角边框/盒子阴影/文字阴影

    本篇文章为 CSS 基础系列笔记第三篇,参考 黑马程序员pink老师前端入门教程 其他CSS基础相关文章: CSS基础「一」基础选择器 / 字体属性 / 文本属性 / 三种样式表 CSS基础「二」复合 ...

  7. 计算机绘图理论试题库,CAD理论试卷及答案「最新」

    CAD理论试卷及答案「最新」 一.单选题(1分/题) 1.AUTOCAD为 的产品(A ) A.美国 B.加拿大 C.中国 D.法国 2.使光标只能在水平方向或垂直方向移动执行下面_____D___命 ...

  8. iPhone 13 系列不再齐「芯」,苹果为什么要造三款不同的 A15 处理器?

    本文来源:爱范儿 ID:ifanr 作者:杜沅傧 苹果的产品向来不会着重的强调参数规格,而是把它们转化为人们容易理解的词汇. 单说 300ppi,大众可能并没有明确的概念,但标榜出视网膜屏(Retin ...

  9. 「ZJOI2009」多米诺骨牌

    「ZJOI2009」多米诺骨牌 题目描述 有一个n × m 的矩形表格,其中有一些位置有障碍.现在要在这个表格内 放一些1 × 2 或者2 × 1 的多米诺骨牌,使得任何两个多米诺骨牌没有重叠部分,任 ...

最新文章

  1. 【Qt】QTest:编译Qt单元测试程序
  2. curl用法:获取网站的header头及状态码
  3. 13.PHP中循环结构之foreach循环语句(任务一)
  4. python接口自动化测试面试题_Python接口自动化面试题总结
  5. hihocoder 1122 : 二分图二•二分图最大匹配之匈牙利算法
  6. 【NLP】深度学习文本分类|模型代码技巧
  7. can通道采样频率_CAN采样点设置为多少合适?设置不对会咋样?
  8. 酷乐emlog下载插件
  9. fetch first mysql_MySQL多版本并发控制机制(MVCC)源码浅析
  10. Android 渗透测试学习手册 第九章 编写渗透测试报告
  11. 排序类问题度量指标:Recall , MAP,MRR
  12. java编程练习题四
  13. php 时间转换时间戳_PHP日期格式转时间戳
  14. 老毛子固件相关内容!
  15. 3D深度相机调研【史上最全,不服来战】
  16. Java开发工具-IDEA(更新中...)
  17. PPT文字很多的排版,PPT图片很多的排版,PPT图文排版
  18. chrome浏览器避免因flash过期而强制更新
  19. (原創) 我也不JB了 (iPhone)
  20. csgo删除机器人_《CSGO》补丁突然移除补位机器人 队友掉线只能4v5!

热门文章

  1. power designer 使用vba实现自动化操作学习
  2. Windows 公共控件库研究
  3. 一些SqlServer常见和入门操作2
  4. React 学习总结
  5. Access和Access VBA学习总结
  6. ArcGIS Engine 项目10.1升级10.2
  7. uniGUI试用笔记(二)
  8. [VB] Option Explicit
  9. 《老子》第八十一章 信言不美,美言不信
  10. hbase java框架_Hadoop学习笔记—15.HBase框架学习(基础实践篇)