引入反演
定义反演中心为点P 任意值为反演半径R(有时需要考虑精度问题选取适当值)反演后的图形为反形
则对平面上任意一点A都有反演点A' PA*PA'=R*R
对于点的反演
hdu6097题目
题意 圆内两点到圆心的距离相等 求圆上一点到这两个点的距离最小值
直接求中垂线和圆的交点是不对的 以圆心作为反演中心 圆的半径作为反演半径 将两点进行反演 根据反演后图形的相似关系 将问题转换
对于圆的反演
1.过中心的圆的反形一条不过中心的直线
2.不过中心的一条直线的反形是一个过中心的圆(与上一条相反)
3.不过中心的圆的反形仍然是一个圆
4.反演前后相切关系和平行关系不变
从入门题说起
hdu4773题目
题意 求两个圆外的一点与两个圆相切的所有圆
将圆进行反演变换 然后求反形圆的公切线 再将公切线反演回圆 则是答案
17年ccpc网络赛
hdu6158题目
题意 求与两个内切的圆都相切的圆的面积和
将两个内切的圆转换为两条平行的直线 则要求的小圆反演后是卡在这两条直线上一样大小的圆 求得这些圆的坐标通项 求得原来的圆的半径即可
17年南宁网络赛
jisuanke题目
题意 给三个一样的圆 两两外切 往他们中间塞圆 求这些圆的半径
求第一个圆比较麻烦 想了挺久才发现等边三角形的外心这一隐藏的性质 然后做法与上面那题大同小异了
hunnu11563题目
题意是给很多圆和这些圆外的一点 求过这一点的一个圆最多能和多少圆相交 比赛的时候用的模拟退火 赛后拍数据的时候发现有几组数据怎样都会少一点 然后看题解了解到圆的反演这个知识点
将圆反演后 枚举每个圆 求其他圆与他的一对切线所在的区间 然后找区间覆盖最多的次数即可