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 ...
随机推荐
- ubuntu更新下载源问题
Q1:ubuntu14.04系统安装完之后无法跟新并安装插件 cd /var/lib/apt/lists sudo rm * -rf sudo apt-get clean;sudo apt-get u ...
- Python+Selenium笔记(十六)屏幕截图
(一) 方法 方法 简单说明 save_screenshot(filename) 获取当前屏幕截图并保存为指定文件 filename:路径/文件名 get_screenshot_as_base64 ...
- CSS3新特性,兼容性,兼容方法总结
css3手册css3手册 边框 border-radius 用于添加圆角效果 语法: border-radius:[ <length> | <percentage> ]{1,4 ...
- android编写测试类
由于网上很多教程,我就不多说.在这里我就说说我遇到的问题. 在android studio编写单元测试类中,在androidTest包下编写了两个类,分别如下 import junit.framewo ...
- XML与DataSet的相互转换
转:https://www.cnblogs.com/kunEssay/p/6168824.html XML与DataSet的相互转换的类 一.XML与DataSet的相互转换的类 using Syst ...
- [转]搭建Keepalived+Nginx+Tomcat高可用负载均衡架构
[原文]https://www.toutiao.com/i6591714650205716996/ 一.概述 初期的互联网企业由于业务量较小,所以一般单机部署,实现单点访问即可满足业务的需求,这也是最 ...
- 第四次作业 重写equals方法
使用上几次用到得User实体类,在其中重写equals方法. @Override public boolean equals(Object obj) { if(obj==null)return fal ...
- phpstudy绑定项目(dist文件)域名--陈远波
该篇博客是针对已经打包好的dist文件用phpstudy工具进行域名绑定,dist文件生成在这笔者不进行描述,绑定步骤如下: 一:官网下载phpstudy软件进行安装:http://phpstudy. ...
- [A]1065 A+B and C (64bit)(挖坑待填)
Given three integers A, B and C in [-2^63, 2^63], you are supposed to tell whether A+B > C. Input ...
- TML 打印预览问题,怎么设置有些内容不出现在打印预览页面上。怎么控制,有下代码 看得不是很懂 求解释
HTML <style> 标签的 media 属性 HTML <style> 标签 实例 针对两种不同媒介类型的两种不同的样式(计算机屏幕和打印): <html> ...