
几何
hao_zong_yin
有问题可以加QQ讨论2987048728,备注一下优快云
展开
-
POJ 1127 Jack Straws——线段相交
水题了,发现不了错误的话看看输入有没有问题#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>#include <cmath>using namespace std;const int maxn = 100;const doubl...原创 2018-02-19 10:28:58 · 252 阅读 · 0 评论 -
2017乌鲁木齐区域赛D题Fence Building——欧拉定理
题意:Farmer John owns a farm. He first builds a circle fence. Then, he will choose n points and build some straight fences connecting them. Next, he will feed a cow in each region so that cows cannot pl...原创 2018-07-29 17:40:56 · 655 阅读 · 0 评论 -
HDU 1724 Ellipse——自适应simpson积分
题意:对于椭圆x^2/a^2+y^2/b^2 = 1(a,b已知),给定l,r,做直线x=l与x=r,求两直线之间的椭圆部分的面积。思路:正常积分不可积,考虑求近似解,即利用simpson积分求解。公式:∫(a->b)f(x)dx = (b-a)/6*(f(a)+4*f((a+b)/2)+f(b))注意精度要到1e-10#include <cstdio>#in...原创 2018-07-03 16:07:09 · 232 阅读 · 0 评论 -
UVALive - 3263 That Nice Euler Circuit——欧拉定理
欧拉定理:设平面图的定点数、边数和面数分别为V,E和F, 则V+F-E=2注意精度问题,1e-10WA了,改成1e-8才过#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>#include <cmath>using nam...原创 2018-05-16 15:44:57 · 219 阅读 · 0 评论 -
HDU - 6219 Empty Convex Polygons——dp+几何
首先枚举最低点o,将纵坐标大于等于o的点极角排序,然后dp求解设dp(i,j)为以oi为最后一条边,以oj为倒数第二条边的最大空凸包,转移方程为 dp[i][j] = max(dp[i][j], dp[j][k] + area);其中area为三角形oij的面积,k要小于j,注意oij要能形成三角形,三角形oij内无点(这里不考虑边上),边oj上无点,向量i->k在向量i->j右面...原创 2018-09-24 16:45:00 · 352 阅读 · 0 评论 -
Crane POJ2991——线段树+几何
由于向量的可叠加性,这道题可以用线段树维护,配合一些几何的知识,代码还是挺好写的。然而因为一个括号忘了去卡了好几个小时 ((٩(//̀Д/́/)۶)) ,果然应了那句话,改越久的BUG往往越ZZ#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>#...原创 2018-02-09 00:45:23 · 350 阅读 · 0 评论 -
UVA - 1543 Telescope——最优三角剖分
最优三角剖分的变形#include #include #include #include #include using namespace std;const double PI = acos(-1.0);const int maxn = 50;struct Point { double x, y; Point(double xx = 0, double yy原创 2017-10-20 18:17:24 · 343 阅读 · 0 评论 -
UVA 1331Minimax Triangulation——最优三角剖分
转移方程:dp[i][j] = min{dp[i][j], max{dp[i][k], dp[k][j], area(i, j, k)}}这题坑在判断三角形是否在多边形内部,想想发现有些三角形虽然在多边形外部,但他们不会对结果造成影响,只有这样的三角形会对结果造成影响:三角形在多边形外部,且三角形内部有多边形的顶点。所以只需要判断点和三角形的关系就可以了。不是很好想#include原创 2017-10-19 21:09:23 · 313 阅读 · 0 评论 -
UVA 11178 Morley's Theorem——直线相交
#include #include #include #include #include using namespace std;const double eps = 1e-5;const double PI = acos(-1.0);struct Point { double x, y; Point (double xx = 0.0, double yy = 0.原创 2017-09-24 11:14:24 · 291 阅读 · 0 评论 -
HDU 5120 Intersection——两圆面积并
题意:求两个圆环的面积并思路:设两个圆环为S1 S2,S1 由 两个圆 c1(大) c2(小)组成,S2由两个圆c3(大) c4(小)组成,那么结果就是c1与c3的面积并减去c1与c4的面积并减去c3与c2的面积并加上c2与c4的面积并#include #include #include #include #include using namespace std;const d原创 2017-09-21 11:36:35 · 417 阅读 · 0 评论 -
HDU 5533 Dancing Stars on Me——几何
题意:判断n个星星是否能组成正多边形思路:因为坐标都是整数,所以星星如果能组成正多边形,那么这个多边形一定是正方形,所以对于n不等于4的排除就好,对于n等于4的,判断所有不重复的边中是否有4条边相等就好#include #include #include #include #include using namespace std;const int maxn = 110;in原创 2017-09-16 20:22:20 · 311 阅读 · 0 评论 -
HDU 5858 Hard problem——计算几何(微积分)
微积分,对题目图片中最小的那个三角求积分#include #include #include using namespace std;int main(){ const double PI = acos(-1.0); const double seven = sqrt(7.0); const double a = asin((5.0 - seven)/8.原创 2017-04-09 20:56:53 · 322 阅读 · 0 评论 -
POJ 2187 Beauty Contest——凸包
因为点都是整点,所以这些点构成的凸包的顶点不会超过根号(m)个,m为坐标系的范围,因此只要构造出凸包二重循环枚举就可以了,另外当m太大时可以用旋转卡壳做,这里就不写了,以后有时间会补上#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>#inclu...原创 2018-02-20 17:06:06 · 260 阅读 · 0 评论 -
POJ 2932 Coneology——扫描线
乍一看还以为线段树+扫描线,仔细想想虽然不是一个东西但是相似性很高,只要维护一下与扫描线相交的最外层圆就可以了,这里用了set,第一次写写得则乱,后来看了挑战程序设计才简化了代码,骚操作学到了#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>#i...原创 2018-02-20 16:14:17 · 296 阅读 · 0 评论 -
poj2954 Triangle——pick定理
题意:给定一个三角形,三角形的三个点都是整数点,问有多少个整数点严格在三角形内部思路:典型的pick定理题目,公式为s=a+b/2-1,s为整数顶点的多边形面积,a为它内部的整数点, b为它边上的整数点(包括顶点),那么题目要求的其实是b=(2*s+2-a)/2s可以通过向量的叉积运算得到,a可以通过gcd得到,两个点形成的线段包含的整数点为它们横坐标差值的绝对值和纵坐标差值的绝对值的gc...原创 2018-10-24 16:49:19 · 242 阅读 · 0 评论