计算几何
MatrixYg
暂无
展开
-
HDU5733_四面体的内切球
1.前言:2018马上就要过去了,今天的一场模拟赛做到了这个题,一开始没有人过,我在队友开其他题的时候偷懒找了个题面最短的题来做,结果还真让我yy出来了。其实高数基础扎实还是很有用的哈。2.题目链接。题意十分的裸,就是给你空间中四个点求球心的坐标以及球的半径。首先我们需要知道一些东西,半径怎么求?这个其实大家高中都会,就是等体积法,四面体的体积被表示成表面积与内切球半径的乘积的3倍。四面体的体...原创 2018-12-30 18:52:14 · 1405 阅读 · 0 评论 -
【POJ 1556】The Doors
1.题目链接。首先这个题目的输入有点迷,为了把问题描述清楚也是不容易。然后就是POJ的小数问题,输出采用%.2f,%.2lf依然是错的。2.具体的做法就是把每个点拿出来,然后跑最短路。我们需要判断线段之间是不是相交,这中间可以采用一个小技巧,我们把每一堵墙中间的空隙拿出来存着,然后对于每一条路判断是不是与这些空隙相交,如果相交,说明这条路是可用的,否则不可用。这样看来其实spfa是很合适来求这...原创 2019-05-28 15:46:03 · 160 阅读 · 0 评论 -
【POJ 2318】TOYS
1.题目链接。题目大意就是有一个矩形的盒子,里面被n条线段分割成了几个不同的区域,然后给出m个点的左边,输出一下每个区域里面格子落了多少个点。2.分析:几何的基础题了 如果p在向量AB的左边,那么PA叉乘PB是一个负数,右手定则轻松解释。然后这个是具有单调性的,所以我们直接二分这个位置就行了。#include <iostream>...原创 2019-05-27 19:50:40 · 175 阅读 · 0 评论 -
【POJ 3335】多边形的核
1.题目链接。题目大意:给定一个多边形,是不是在这个多边形的内部存在一个点使得站在这个点可以看到多边形中的任意一个点。2.一个与多边形核有关的问题。多边形的核是一个点集,在这个点集内部,可以看到边界上的任意一个点。求解方法采用半平面交。#include<iostream>#include<cstdio>#include<stdio.h>#incl...原创 2019-05-11 15:47:32 · 493 阅读 · 0 评论 -
【三维凸包】模板题
1.关于三维凸包的模板。拿的是kuangbin聚聚的。具体的题目有:HDU4273,HDU3662,POJ3528,POJ3682等。模板如下:const int MAXN = 550;const double eps = 1e-8;struct Point{ double x, y, z; Point() {} Point(double xx, double yy, dou...原创 2019-04-25 22:45:16 · 143 阅读 · 0 评论 -
【HDU4741】空间解析几何
1.题目链接。题目大意:给出两条空间中不平行的直线,求出这两条直线的距离和对应的点。2.分析:在空间中我们知道,直线有三种关系:相交,平行,异面。但是题目中已经说了,是不相交的直线,所以只可能有两种关系,平行或者异面。在空间中,直线方程并不是很好用(行吧,或者说我不会用)。虽然说这是一个计算几何模板题,但是还是希望可以明白其中道理。3.我们从向量的角度来考虑这个问题那么我们就不用考虑很多的...原创 2019-04-03 17:08:43 · 453 阅读 · 0 评论 -
【HDU6300】极角排序
1.题目链接。题目大意,给3n个点,把这3n个点划分成n个三角形。题目数据保证存在一组解。输出每个三角形所使用的点的下标。2.找到左下角(其他地方也行)的一个点,然后以这个点为极角排序,极角排序之后相邻的三个点划分成一组即可。#include <bits/stdc++.h>#define maxn 4005#pragma warning(disable:4996)typ...原创 2019-03-21 23:03:18 · 151 阅读 · 0 评论 -
【HDU4082】相似三角形计数
1题目链接。题面很长,但是题意比较简单,大意就是给你n个点,找出这些点组成的三角形中相似的又多少个。2.emmm,首先我们分析一下,n个点理论上来说最多会组成C(n,3)个三角形,但是题目中给的数据很小,所以我们暴力枚举即可。那么我们如何判断两个三角形相似呢?最简单的写法肯定是把三个角求出来,然后比较这些角度即可。暴力枚举虽然是没有错,但是我们在比较相似的时候还是会出现很多的问题,一个简单的处...原创 2019-03-15 17:40:05 · 278 阅读 · 0 评论 -
【HDU1115】多边形重心的计算
1.如何计算一个多边形的重心?如果是三角形我们知道他就是对应点坐标的算术平均值。推广成多边形,其实也是类似的,只不过是点的加权平均值。2.计算多边形的重心,我们可以把多边形分解成n-2个三角形,然后计算这n-2个三角形的重心,之后再计算这些重心的加权平均值。对于每个三角形的重心对于整个多边形的重心的贡献,就是他的权。而这个权就是这个三角形的面积。 ...原创 2019-02-23 18:07:03 · 1004 阅读 · 0 评论 -
【HDU1392】计算几何_凸包
1.题目链接。emmm,这个题的意思就是找到一个多边形把所有的点都围起来,然后计算这个多边形的周长。一看就是一个凸包嘛,也是挺队友说过,自己没有写过,今天就写一下喽。2.凸包是啥?通俗点就是一个凸多边形。凸包的就是解决这样的一个问题,二维平面上给你一堆的点,然后让你找一个最小的多边形把所有的点给包括起来。这个问题可以用一个叫做葛立恒扫描线的算法。英文名字:Graham算法。具体啥是Graham...原创 2019-02-17 20:52:09 · 217 阅读 · 0 评论 -
【计算几何】使用set维护凸壳。
1.动态凸包是一类经典的题目,题目的大概意思就是:在添加和删除平面上的一些点,然后询问这些点构成的凸包的信息。典型题目:HAOI 2011 构建。有多种写法,可以用Splay维护,也可以用set维护。我们来讨论一下如何使用set维护动态凸包,但是有一个缺陷,就是只支持添加点,删除点的是不行的,但是我们可以把操作离线下来,倒着扫,删点就成了加点。(1)首先我们把所有的点按照x排序,x相同的按照y...原创 2019-08-11 18:26:52 · 384 阅读 · 0 评论