![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
计算几何
H煊
缓一会儿。。。
展开
-
“玲珑杯”线上赛 Round #17 Sin your life(数学知识)
DESCRIPTION给一个正整数nn,求下列表达式的最大值:(sin(x)+sin(y)+sin(z))[x+y+z=n][x≥1][y≥1][z≥1](sin(x)+sin(y)+sin(z))[x+y+z=n][x≥1][y≥1][z≥1]为了降低难度,这里的x,y,zx,y,z皆为整数INPUT输入只有一行,包含一个正整数n(3≤n≤原创 2017-06-24 22:12:01 · 392 阅读 · 0 评论 -
凸包之Jarvis步进法
Jarvis步进法也可称为卷包裹法,思路是先找到一个在凸包上的点,然后卷过去,由于每次确定凸包上的点需要遍历所有的点,因此时间复杂度为O()原创 2017-07-28 16:40:08 · 7075 阅读 · 0 评论 -
凸包之Graham扫描法
思想和步骤:(1)令point[0]为点集Q中y坐标最小的点,若具有y坐标最小值相同的顶点有多个,则取最左边的那个点;(2)对点集Q中的其他剩余的点按逆时针相对point[0]的极角进行排序。若极角相同,则按与point[0]的距离进行升序排序;(3)设定一个栈Stack,先将point[0],point[1],point[2]入栈,其它的点依次入栈,依据次栈顶元素point[Stac原创 2017-07-27 18:15:41 · 390 阅读 · 0 评论 -
点是否在多边形中(数学知识)
思路:判断点p是否在多边形中,随机取一个足够远的点p1,以点p为起始点,p1为终点,作射线L,由于多边形是有界的,所以射线L的终点一定在多边形外,很容易看出当L和多边形的交点数目count为奇数时,p在多边形内;count为偶数时,p在多边形外。但是有些特殊情况需要处理:1)p在多边形边上;2)射线与多边形的顶点相交,将影响count的统计,为避免这种情况,这里代码原创 2017-07-27 12:28:25 · 313 阅读 · 0 评论 -
Pick定理
Pick定理:设以整数点为顶点的多边形的面积为S,多边形内部的整数点数为N,边界上的整数点数为L,则N+1/2*L-1=S;下面给出计算N,L,S的程序。代码:typedef struct Point{ int x,y;}point;int gcd(int a,int b){ if(b==0) return a; return gcd(b,a%b);}i原创 2017-07-26 18:53:43 · 998 阅读 · 0 评论 -
移动火柴(数学知识)
问题描述:在正方形的顶点处放上火柴。开始时在第一个顶点处放1根火柴,其他顶点处空着。移动火柴规则如下:可以在有火柴的任何顶点处移走任意根数的火柴,并在与之相邻的两个顶点处都放上移走火柴数的两倍。你的任务是判断是否经过若干次操作,4个顶点(顺或逆)处的火柴根数为事先指定的4个非负整数a,b,c,d(第一个数a对应第一个顶点火柴数)。输入样例: 输出样例:2 1原创 2017-08-16 13:02:57 · 2202 阅读 · 0 评论 -
2017滴滴校招 末尾0的个数(数学知识)
末尾0的个数时间限制:1秒空间限制:32768K输入一个正整数n,求n!(即阶乘)末尾有多少个0? 比如: n = 10; n! = 3628800,所以答案为2 输入描述:输入为一行,n(1 ≤ n ≤ 1000)输出描述:输出一个整数,即题目所求输入例子1:10输出例子1:2思路:末尾0的个数就是原创 2017-07-21 13:50:39 · 891 阅读 · 0 评论 -
2010 ACM/ICPC 福州赛区 Problem E(数学知识)
Problem 2004 Fermat Point in Quadrangle Accept: 96 Submit: 539Time Limit: 1000 mSec Memory Limit : 32768 KB Problem DescriptionIn geometry the Fermat point of a triangle, also原创 2017-07-20 15:09:54 · 317 阅读 · 0 评论 -
向量外积和内积在编程中的应用
先介绍向量外积:向量ab×向量ac=|ab|*|ac|*sin显然结果的绝对值为△abc面积的2倍,因此利用向量外积可以求任意多边形的面积;向量的外积代码:double det(int a,int b,int c){ return (x[b]-x[a])*(y[c]-y[a])-(x[c]-x[a])*(y[b]-y[a]);}1)结果=0,说明三点共线;原创 2017-07-20 09:52:54 · 1464 阅读 · 0 评论 -
HDU 1018 Big Number(数学知识)
Big Number题意:n!的结果由多少位组成。假设10^x近似n!,则x=lg(n!),展开x=lg(n)+lg(n-1)+lg(n-2)+...+lg1。代码:#include #include double solve(int n) { double cnt=0; for(int i=2;i<=n;i++)原创 2017-09-14 20:52:57 · 166 阅读 · 0 评论