Pick定理、欧拉公式和圆的反演
Pick定理、欧拉公式和圆的反演
Tags:高级算法
Pick定理
内容
定点都是整点的多边形,内部整点数为\(innod\),边界整点数\(ednod\),\(S=innod+\frac{ednod}{2}-1\)
证明
把每个整点近似地看成一个圆,那么多边形内部的整点所代表的圆全部被算入
多边形边界上的圆被算了一半
顶点上被算了\(\sum 半圆-外角\),外角和360度,于是\(-1\)
应用
POJ2954 求格点三角形内部点数
欧拉公式
内容
\[V-E+F=2\]
\(V:vertex\) 顶点
\(E:edge\) 边
\(F:Flat\) 面
适用于所有多变形(无论维度)
例如一个长方形:\(4\)个点\(4\)条边,两个面:里面和外面
应用
\(n\)个点做三维凸包,求增量构造法复杂度。
假设\(n\)个点都在凸包上,那么\(V=n\),每个面有三条边,每条边被算了两次,即\(2E=3F\)
通过上面的公式可以得到\(F=2n-4,E=3n-6\)。
增量构造法的复杂度是面数×点数,所以是\(\cal O(n^2)\)级别
圆的反演变换
内容
反演中心为\(O\),反演半径为\(R\),若经过\(O\)的直线经过\(P,P'\),且\(OP*OP'=R^2\),则称\(P\)、\(P'\)关于\(O\)互为反演
性质
- 1.一根过\(O\)的直线的反形是本身
- 2.一根不过\(O\)的直线的反形是一个过\(O\)的圆
- 3.一个过\(O\)的圆的反形是一根不过\(O\)的直线
- 4.一个不过\(O\)的圆的反形是一个和该圆关于\(O\)位似的圆
下面这张图可以粗略解释一下有这么个东西:两种不同颜色的三角形相似,可以证出\(CD\)关于\(E\)的反形为圆

- 5.反演不改变相切关系
应用
1、求平面内与原点四点共圆的三元组个数
Problem Provider:自为风月马前卒
对所有点反演后求三点共线的三元组即可
2、求经过P点并与两给定相离圆外切的圆
参考博客:ACdreamer反演教程、水郁图文、cdsszjj题解、教你尺规画图
Problem Provider:HDU4773 Problem of Apollonius
先将两相离圆关于P反演,然后做反形的公切线,反演回来成为公切圆
TBC...
Pick定理、欧拉公式和圆的反演的更多相关文章
- The Designer (笛卡尔定理+韦达定理 || 圆的反演)
Nowadays, little haha got a problem from his teacher.His teacher wants to design a big logo for the ...
- CF77E Martian Food(圆的反演or 笛卡尔定理+韦达定理)
题面 传送门 这题有两种方法(然而两种我都想不到) 方法一 前置芝士 笛卡尔定理 我们定义一个圆的曲率为\(k=\pm {1\over r}\),其中\(r\)是圆的半径 若在平面上有两两相切,且六个 ...
- 格点多边形面积公式(Pick定理)的一个形象解释(转)
Pick定理:如果一个简单多边形(以下称为“多边形”)的每个顶点都是直角坐标平面上的格点,则称该多边形为格点多边形.若一个面积为S的格点多边形,其边界上有a个格点,内部有b个格点,则S=a/2+b-1 ...
- 【计算几何 05】Pick定理
什么是Pick定理(皮克定理) 来自wiki的介绍: 给定顶点座标均是整点(或正方形格子点)的简单多边形,皮克定理说明了其面积 \(A\)和内部格点数目 \(i\) .边上格点数目 \(b\) 的关系 ...
- HDU 3775 Chain Code ——(Pick定理)
Pick定理运用在整点围城的面积,有以下公式:S围 = S内(线内部的整点个数)+ S线(线上整点的个数)/2 - 1.在这题上,我们可以用叉乘计算S围,题意要求的答案应该是S内+S线.那么我们进行推 ...
- 【POJ】2954 Triangle(pick定理)
http://poj.org/problem?id=2954 表示我交了20+次... 为什么呢?因为多组数据我是这样判断的:da=sum{a[i].x+a[i].y},然后!da就表示没有数据了QA ...
- UVa 10088 - Trees on My Island (pick定理)
样例: 输入:123 16 39 28 49 69 98 96 55 84 43 51 3121000 10002000 10004000 20006000 10008000 30008000 800 ...
- 圆的反演变换(HDU4773)
题意:给出两个相离的圆O1,O2和圆外一点P,求构造这样的圆:同时与两个圆相外切,且经过点P,输出圆的圆心和半径 分析:画图很容易看出这样的圆要么存在一个,要么存在两个:此题直接解方程是不容易的,先看 ...
- Area(Pick定理POJ1256)
Area Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 5429 Accepted: 2436 Description ...
随机推荐
- Maven的下载与安装(Windows版本)
前言: 安装Maven 3,需要安装jdk1.7及以上版本 具体步骤如下: 1.进入官网:http://maven.apache.org/download.cgi,如下图红框部分 其中: apache ...
- RecyclerView-- 侧滑删除和拖动排序
实现这么个功能我们不需要再去继承RecyclerView,只需要去了解ItemTouchHelper这个类即可,接下来我们就去看看都有些什么 ItemTouchHelper.Callback 默认需要 ...
- Java的8种基本数据类型和3种引用数据类型
背景 最近被一个问题难倒:问到Java的基本数据类型有8种,具体是哪几个?一起复习下: Java数据类型概述 变量就是申请内存来存储值,即当创建变量的时候,需要在内存中申请空间. 内存管理系统根据变量 ...
- 安装并使用pt-ioprofile
pt-ioprofile,是一个percona的性能分析工具,可以查看进程输出.输入,打印一些表文件及活动IO.pt-ioprofile是一个只读工具,所以对数据没风险.由于网上对pt-ioprofi ...
- 纯Css实现Div高度根据自适应宽度(百分比)调整
在如今响应式布局的要求下,很多能自动调整尺寸的元素能够做到高宽自适应,如img,通过{width:50%;height:auto;}实现图片高度跟随宽度比例调整. 然而,用的最多的标签一哥Div却不能 ...
- Android5.0中Material Design的新特性
最近项目中需要用到Material Design,整理了下面几个常用的控件,以便记忆. 一.Snackbar 1.作用:与Toast类似,但是可以点击监听: 2.使用: (1)Snackbar调用静态 ...
- MySQL并发相关的参数
1.max_connections 这个参数可提高并发连接数,即允许连接到MySQL数据库的最大数量. 如果实验MySQL过程中遇到too many connections等问题,可提高这个值,此外我 ...
- ELK安装过程
官方安装文档:https://www.elastic.co/guide/en/elasticsearch/reference/current/zip-targz.html 官方硬件和配置项推荐:htt ...
- javascript,object,IDispatchEx笔记
//js: var testObj=new Object; //com内部: testObj=Object::InvokeEx(wFlags==DISPATCH_CONSTRUCT); //注: // ...
- 用JS制作《飞机大作战》游戏_第4讲(创建敌方飞机、敌方飞机发射子弹、玩家子弹击中敌方小飞机,小飞机死亡)-陈远波
一.创建敌方飞机 1.思考创建思路: 创建敌方飞机思路与创建玩家飞机思路一样: (1)思考敌方飞机具备什么属性: 敌方飞机的图片.坐标.飞行速度.状态(是否被击中) 设置小飞机被击中时消失时间.飞机可 ...