给你一个中心在原点的圆,再给你俩在圆内且到原点距离相等的点P,Q,让你在圆上求一点D,最小化DP+DQ. http://blog.csdn.net/qq_34845082/article/details/77099332 附:过反演中心的圆反演后变成一条和该圆正交的直线. 不过反演中心的圆反演后是一个与原圆关于反演中心位似的圆. 不过反演中心的直线反演后变成一个过反演中心且与其正交的圆. #include<cstdio> #include<cmath> using namespac…
题意:给你三个半径相同的圆,它们切在一起,然后让你往缝里一个一个地塞圆,问你塞到第k个的半径是多少. 就把上面那两个圆的切点当成反演中心,然后会反演成这个样子,两个平行直线和一个圆. 然后就是往那个圆上面再塞圆,然后反演回去算面积就行了. #include<cstdio> #include<cmath> using namespace std; const double pi=3.14159; int n,K; double R,anss[12]; int main(){ //fr…
题目链接:https://cn.vjudge.net/problem/HDU-6097 知识点: 计算几何.圆的反演 题目大意: 已知一个圆心在原点的圆的半径,再给定 \(P, Q\) 两点坐标( \(PO=QO\),\(P, Q\) 不在圆外),在圆上取一点 \(D\),求 \(PD+QD\) 的最小值. 解题思路: 首先,\(P, Q\) 两点重合的情况要特判: 其次,\(P, Q\) 在圆上的情况也要特判(将 \(D\) 点放在 \(P\) 或 \(Q\) 点上即可,答案为 \(|PQ|\…
LINK:Boundary 计算几何确实是弱项 因为好多东西都不太会求 没有到很精通的地步. 做法很多,先说官方题解 其实就是枚举一个点 P 然后可以发现 再枚举一个点 然后再判断有多少个点在圆上显然会超时. 直接考虑求出所有点和\(O,P\)的夹角 因为同弧所对圆周角相等 最后统计有多少个角度相等来做. 一个误区是 两个对称的圆上的点被算在一起了 此时强制利用 第三个点在所在直线的左侧/右侧来消除影响. 正确性显然.复杂度\(n^2\cdot logn\) 一个比较好想好写的做法: 枚举到第三…
传送门:http://acm.hdu.edu.cn/showproblem.php?pid=3264 题意:给你n个圆,坐标和半径,然后要在这n个圆的圆心画一个大圆,大圆与这n个圆相交的面积必须大于等于每个圆面积的一半,问你建在那个圆心半径最小,为多少. 题解:枚举这n个圆,求每个圆的最小半径,通过二分半径来求,然后取这n个的最小值即可,注意点精度就OK了. AC代码: #include <iostream> #include <cstdio> #include <cstri…
Description You are given N circles and expected to calculate the area of the union of the circles ! Input The first line is one integer n indicates the number of the circles. (1 <= n <= 1000) Then follows n lines every line has three integers Xi Yi…
题解: 这里是用解析解的做法, 我们发现如果以P和Q做椭圆,那么当椭圆与圆相切的时候,答案最优 那么方程就是这样的 联立之后,解delta等于0,可以得到 答案就是2a了 注意不一定任何情况都有解,当delta等于0时,不一定存在那个点,这个时候显然就为中垂线与圆的交点,特判一下即可 此外点重合也要特判! #include <iostream> #include <cstdio> #include <cmath> using namespace std; int T;…
题意: 给出一个\(n\)个点的简单多边形,和两个点\(A, B\)还有一个常数\(k(0.2 \leq k < 0.8)\). 点\(P\)满足\(\left | PB \right | \leq k \left | PA \right |\),求点\(P\)构成的图形与多边形相交的面积. 分析: 推导圆的公式: 高中应该做过这样的题目,我们很容易知道这是一个圆. 下面推导一下圆的方程: 设\(A(x_1, y_1),B(x_2,y_2),P(x,y)\),根据条件列出等式: \(\sqrt{…
题面 题意:有一个凸多边形岛屿,然后告诉你从高空(x,y,h)投下炸弹,爆炸半径r,飞机水平速度和重力加速度,问岛屿被炸了多少 题解:算出来岛屿落地位置,再利用圆与凸多边形面积交 #include<bits/stdc++.h> #define inf 1000000000000 #define M 100009 #define eps 1e-12 #define PI acos(-1.0) using namespace std; struct Point { double x,y; Poin…
题面 题意:就是给你一个圆,和你一个矩形,求面积并,且 保证是一种情况:三角剖分后 一个点在圆内 两个在圆外 题解:可以直接上圆与凸多边形交的板子,也可以由这题实际情况,面积等于扇形减两个三角形 #include<bits/stdc++.h> using namespace std; int main() { int T; double dx,dy,yx,ux,uy,rx,ry,R; double s1,s2,s3,x1,y1,x2,y2,cosA; scanf("%d",…
double 在1e17以后就不能顾及小数,所以用一下加精度的技巧 sqrt(r*r-d*d)=sqrt(r+d)*sqrt(r-d) 遇到误差在几位以内的注意要修改二分的精度,用最大的数据去乘以精度即可 #include<bits/stdc++.h> using namespace std; ; const double inf = 1e14; double sgn(double x){ ; ); ; } struct Point { double x,y; Point(){} Point…
题目链接多校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号圆的圆心. 那么它们的直径就是这些小…
BUPT2017 wintertraining(15) #5G HDU - 4773 - 2013 Asia Hangzhou Regional Contest problem D 题意 给定两个相离的圆,和一个圆外的点P,求过该点和两个圆都外切的圆. 题解 直接求解联立的方程组不太可行.需要用一个黑科技--圆的反演. 什么是圆的反演呢? 假设定圆的圆心为O,半径是R,线段OP上的点P'满足\(|OP|\cdot|OP'|=R^2\),则称P'是P关于定圆O的反演. 反演的性质: 不通过O的直线…
hdu6158 题意 初始有两个圆,按照标号去放圆,问放完 \(n\) 个圆后的总面积. 分析 圆的反演的应用. 参考blog 设反演圆心为 \(O\) 和反演半径 \(R\) 圆的反演的定义: 已知一圆 \(C\) ,圆心为 \(O\) ,半径为 \(R\) ,如果 \(P\) 与 \(P'\)在过圆心 \(O\) 的直线上且 \(OP \cdot OP'=R^2\),则称 \(P\) 与 \(P'\) 关于 \(O\) 互为反演点. 有圆的反演的几个性质: 经过\(O\)的圆,反演后成为不经…
参考: https://oi-wiki.org/geometry/inverse/ https://blog.csdn.net/acdreamers/article/details/16966369 https://jingyan.baidu.com/article/77b8dc7f8a792e6174eab623.html 知识点:圆的反演 反演中心 O,半径R,若 P 与 P' 满足: 点 \(P'\) 在射线\(\overrightarrow {OP}\)上 \(|OP|\cdot |OP…
自闭集训 Day6 计算几何 内积 内积不等式: \[ (A,B)^2\le (A,A)(B,B) \] 其中\((A,B)\)表示\(A\cdot B\). (好像是废话?) 叉积 \[ A\times B=|A||B|\sin \theta \] 二维叉积:\(A\times B=x_1y_2-x_2y_1\). 三维叉积: \[ A\times B=\left| \begin{matrix} i&j&k\\ Ax&Ay&Az\\ Bx&By&Bz \e…
1.向量基础知识 \(atan2\)可以求极角,但是不是特别精确,在坐标接近\(10^{9}\)时会出锅,安全的做法是叉积. 旋转.反射和平移等都可以抽象为矩阵,即,它们可以复合.(需要一些必修四知识) 给一个序列,每个位置表示旋转.反射.平移中的一种,求\((x,y)\)经过序列\([l,r]\)的点. 线段树维护矩乘就好了,矩阵里需要带个常数位置. Simpson积分 不会积分,告辞. 2.简单题 求点\(p\)在直线\(p_1p_2\)上的投影. 投影就是点积,直接积就行了,必修四怎么学的…
内积(点积) 很普及组,不讲了. \[(a,b)^2\le(a,a)(b,b)\] 外积(叉积) 也很普及组,不讲了. 旋转 对于矩阵 \(\begin{bmatrix}\cos\theta\\\sin\theta\end{bmatrix}\),在左边乘一个 \(\begin{bmatrix}cos\omega&\sin\omega\\sin\omega&-\cos\omega\end{bmatrix}\),就能变成 \(\begin{bmatrix}\end{bmatrix}\) (第一…
省选讲课:还不错吧 ZJOI RP++ Day2: 题出的好!覆盖知识点广,题目又着切合实际的背景,解法比较自然. 给出题人点赞 ! 意识模糊地点开了题(考前不熬夜似乎还是很困qaq) T1:前一个小时一直在想T1,同时脑海中时而回放海贼王的场景(前一天不该看海贼王?) 这是一道数数(树)题? 跟同构有关. 30分似乎是挺显然的,枚举所有不同构的树,乘上标号方案数的K次方就行了. 一直想不出50分唉..感觉自己数数能力急需提高 T2:这怕是全场唯一可做题吧 一个点会向左右两边扩展,把任意相邻两个…
目录 @description@ @solution@ @accepted code@ @details@ @description@ 给定两个点集 M 与 S,求是否存在一个圆能够分割两个点集. 原题传送门. @solution@ 不妨考虑圆内是 M,圆外是 S 的情况.反过来同理. 如果 M 只有一个点,显然有解:否则至少可以让分割圆经过 M 的凸包上的某两个点. 一个暴力做法是枚举这两个点 x, y,则其他点会对分割圆的位置产生限制.可以用 \(\vec{xy}\) 所对圆周角大小来描述这…
tags:[圆の反演][乘法原理][尺取法]题解:圆の反演:将过O点的圆,映射成不过O的直线,相切的圆反演出来的直线平行.我们将集合S中的点做反演变换:(x,y)->(x/(x^2+y^2), y/(x^2+y^2))若OAB的外接圆与OCD的外接圆相切&&OAC外接圆与OBD外接圆相切.那么反演后就有:A'B'//C'D' && A'C'//B'D'即A'B'C'D'为平行四边形枚举所有的对角线,对于每一根对角线,我们记录下它的斜率,中点坐标.对这些对角线排序后,使…
目录 2018.10.25 正睿停课训练 Day9 A 数独(思路 DP) B 红绿灯(最短路Dijkstra) C 轰炸(计算几何 圆并) 考试代码 B C 2018.10.25 正睿停课训练 Day9 期望得分:100+60+20 实际得分:100+0+0 比赛链接 Dijkstra模板题爆零了.我还有救吗 A 数独(思路 DP) 题目链接 先是想到,限制的是1,但其实在数独里1和2,3,...,9别的数没啥特殊的地方啊,可以忽略其它数的种类? 好,上面这句话没什么用. 考虑到每种合法的填1…
题面 传送门 题解 这题解法真是多啊--据说可以圆反演转化为动态插入半平面并判断给定点是否在半平面交中,或者化一下改成给定点判断是否所有点都在某一个半平面内-- 鉴于圆反演我也不会,这里讲一下直接推的好了 如果一个圆的圆心是\((a,b)\),询问点是\((x,y)\),那么这个询问点在圆心上的条件就是 \[ \begin{aligned} (x-a)^2+(y-b)^2\le a^2+b^2 \\ x^2+y^2\le 2ax+2by \\ b\ge -\frac{x}{y}a+\frac{x…
/* HDU5130 Signal Interference http://acm.hdu.edu.cn/showproblem.php?pid=5130 计算几何 圆与多边形面积交 * */ #include <cstdio> #include <algorithm> #include <cmath> using namespace std; const double Pi=acos(-1.0); ; ; double k; int sgn(double x) { i…
Day -38 - 2459208(2020.12.24) CCF 发公告了,线上举办 hopping. 刚看到还纠结了一会儿,但想想还是报了.虽说是去摸鱼,打打暴力分就走人.但毕竟有牌和没牌也是不一样的. 况且去年本来就忘了报了,我们年级其他人都是 Ag 就我一个 Fe 连铁牌都没有,巨大的失误. 话说今年没有 CTSC 是不是意味着我们可以少做一套题了啊 Day -33 - 2459213(2020.12.29) 报好了. 然后发现 ycx 没报名???搞什么鬼... Day 0 - 245…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6097 题意:有一个圆心在原点的圆,给定圆的半径,给定P.Q两点坐标(PO=QO,P.Q不在圆外),取圆上一点D,求PD+QD的最小值. 解法:圆的反演. 很不幸不总是中垂线上的点取到最小值,考虑点在圆上的极端情况. 做P点关于圆的反演点P',OPD与ODP'相似,相似比是|OP| : r. Q点同理. 极小化PD+QD可以转化为极小化P'D+Q'D. 当P'Q'与圆有交点时,答案为两点距离,否则最优…
Mindis Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 2787    Accepted Submission(s): 555Special Judge Problem Description The center coordinate of the circle C is O, the coordinate of O is (0,…
题意:给出两个相离的圆O1,O2和圆外一点P,求构造这样的圆:同时与两个圆相外切,且经过点P,输出圆的圆心和半径 分析:画图很容易看出这样的圆要么存在一个,要么存在两个:此题直接解方程是不容易的,先看看反演的定义:已知一圆C,圆心为O,半径为r,如果P与P'在过圆心O的直线上,且,则称P与P'关于O互为反演. 反演的性质: 首先设出反演圆心O和反演半径R 1.圆外一点P与圆内一点P'会一一对应的反演OP*OP'=R*R 2.经过O的圆,反演后成为不经过O的一条直线 3.不经过O的圆,反演后成为另…
Nowadays, little haha got a problem from his teacher.His teacher wants to design a big logo for the campus with some circles tangent with each other. And now, here comes the problem. The teacher want to draw the logo on a big plane. You could see the…
Pick定理.欧拉公式和圆的反演 Tags:高级算法 Pick定理 内容 定点都是整点的多边形,内部整点数为\(innod\),边界整点数\(ednod\),\(S=innod+\frac{ednod}{2}-1\) 证明 把每个整点近似地看成一个圆,那么多边形内部的整点所代表的圆全部被算入 多边形边界上的圆被算了一半 顶点上被算了\(\sum 半圆-外角\),外角和360度,于是\(-1\) 应用 POJ2954 求格点三角形内部点数 欧拉公式 内容 \[V-E+F=2\] \(V:verte…