
计算几何
nike0good
这个作者很懒,什么都没留下…
展开
-
POJ 3575(计算几何与二分-无尽的小数处理)
这题 写了将近半个月……总是在D各种Bug总的说来-这题最难应该是在精度处理上110 0 1这组数据过了就说明精度处理差不多了……Program kingdom;const maxn=100; maxm=100; le=0.000000001;type circle=record x,y,r:double;原创 2012-10-18 13:15:59 · 1112 阅读 · 0 评论 -
BZOJ 1209([HNOI2004]最佳包裹-三维凸包)
DescriptionH公司生产了一种金属制品,是由一些笔直的金属条支撑起来的,金属条和别的金属条在交点上被焊接在了一起。现在由于美观需要,在这个产品用一层特殊的材料包裹起来。公司为了节约成本,希望消耗的材料最少(不计裁剪时的边角料的损失)。你的程序需要根据给定的输入,给出符合题意的输出: 输入包括该产品的顶点的个数,以及所有顶点的坐标; 你需要根据输入的计算出包裹这个产品所需要的材料的最小面积原创 2017-03-07 10:48:13 · 713 阅读 · 0 评论 -
BZOJ 1797([Ahoi2009]Mincut 最小割-最小割的可行边与必行边)
A. 恶魔包毁灭世界已知一张二分图,问哪些边是二分图的可行边? 先跑最小流,再把残余网络建图,几个重要结论是: ·最小割的可行边(满流&&2点不在一个SCC中) ·最小割的必行边(可行边&&2点分别与源点和汇点在同一SCC中) ·二分图的可行边(两点在一个SCC中)#include <iostream>#include <cmath>#include <algorithm>#inclu原创 2017-03-27 17:49:05 · 494 阅读 · 0 评论 -
北方大学 ACM 多校训练赛 第四场 题解
A. 恶魔包毁灭世界已知一张二分图,问哪些边是二分图的可行边? 先跑最小流,再把残余网络建图,几个重要结论是: ·最小割的可行边(满流&&2点不在一个SCC中) ·最小割的必行边(可行边&&2点分别与源点和汇点在同一SCC中) ·二分图的可行边(两点在一个SCC中)#include <iostream>#include <cmath>#include <algorithm>#inclu原创 2017-03-27 10:12:09 · 1007 阅读 · 0 评论 -
HDU 3263(Ancient vending machine-井盖问题)
题意:给出一个多边形孔和一个多边形硬币,问你这个硬币能能否从孔中穿过去? 硬币肯定竖着扔,求硬币多边形的最小宽度和多边形孔包含的最长线段长、 多边形的最小宽度就是旋转卡壳时的最小宽度。 然后,有一个结论: 多边形内的最长线段长必然过多边形的两个顶点。#include<cstdio>#include<cstring>#include<cstdlib>#include<algorithm原创 2017-07-13 18:53:22 · 421 阅读 · 0 评论 -
NEUOJ 1210(The number of triangulation-计算几何+剪枝)
一个正n(<=400)边形分成n-3个三角形,面积最大的那个三角形只出现一次,求方案数。如果没有面积最大的那个三角形只出现一次就是Catalan数 现在考虑枚举面积最大三角形,计算面积不超过S的正n边形的l条边组成的(l+1)边形的三角形划分方案数dpidp_i,暴力统计O(n^4) 加几个剪枝: 我们显然可以把全等的三角形一起计算。 但三角形较少的时候dpi=Ci−1dp_i=C_{i-1原创 2017-07-26 12:36:59 · 497 阅读 · 0 评论 -
SPOJ CIRU(The area of the union of circles-圆的面积并)
给n个圆求圆的面积并。 本题时间较紧要加常数优化。 考虑外轮廓线时跳过被内含、内切的。#include<bits/stdc++.h> using namespace std;#define For(i,n) for(int i=1;i<=n;i++)#define Fork(i,k,n) for(int i=k;i<=n;i++)#define ForkD(i,k,n) for(int原创 2017-08-18 10:05:17 · 401 阅读 · 0 评论 -
SPOJ CIRUT(CIRU2-圆的面积并与恰被覆盖k次区域的面积)
给n<=1000个圆,对于所有k,求恰被覆盖k次区域的面积。考虑积分。 根据格林公式,对平面的积分可以转换成对边界的积分。 被覆盖k次的边界恰为答案。如何判断每个边界的覆盖次数?一条边界被覆盖的次数=所在圆被覆盖的次数+与该圆相交的圆对圆进行切割后每一段隶属于几个圆里#include<bits/stdc++.h> using namespace std;#define For(i,n) fo原创 2017-08-11 19:33:57 · 1719 阅读 · 0 评论 -
2017 ACM-ICPC 亚洲区(乌鲁木齐赛区)网络赛 题解
B Out-out-control cars给2个三角形,坐标均为整数,问它们分别以(vx1,vy1),(vx2,vy2)(v_{x1},v_{y1}),(v_{x2},v_{y2})移动时,是否会相撞(撞一个点就行)题解:考虑2个三角形相撞拆成线段相撞,进一步转化为其中一条线段的一个端点撞到另一条线上。于是变成了射线与线段相交的问题。 注意这题卡精度需要用__float128D Hack Por原创 2017-09-11 01:02:57 · 890 阅读 · 0 评论 -
Asia Regional Contest, Tsukuba, 2016–10–16
A Rearranging a Sequence#include<bits/stdc++.h>using namespace std;const double eps=1e-10;const double pi=3.1415926535897932384626433832795;const double eln=2.718281828459045235360287471352;#define L原创 2017-10-05 13:21:47 · 1094 阅读 · 0 评论 -
BZOJ 5099([POI2018]Pionek-极角排序)
题意:有n个向量,每个向量可以选择取或者不取,要求选一些向量,使得它们和最大。#include<bits/stdc++.h> using namespace std;#define For(i,n) for(int i=1;i<=n;i++)#define Fork(i,k,n) for(int i=k;i<=n;i++)#define ForkD(i,k,n) for(int i=n;i>原创 2017-12-11 15:40:24 · 576 阅读 · 0 评论 -
NWERC 2017(Connect the Dots-几何+搜索)
题意:4*4个格点,要求一笔从小到大依次经过这16个点。求使用的最小线段数。暴搜。 考虑任意一条线段一定满足1.斜率为2个不超过20的整数的比值;2.至少经过1个点。 搜索状态为(当前画到了第几个点,斜率方向) 转移为: 在这个点转一下方向, 直接画到下一个点。 画到下一个点,中间转一次方向。#include<bits/stdc++.h>using namespace std;#de原创 2017-12-13 16:28:12 · 705 阅读 · 0 评论 -
JSOI2018(战争-Minkowski sum)
给你2个点集,分别对这2个点集求凸包A,B,每次询问问凸包B平移向量(dx.dy)(dx.dy)后是否与凸包A有公共点。点集大小n,m,询问次数q的范围为1e5b⃗ +(dx,dy)=a⃗ \vec{b}+(dx,dy)=\vec{a} (dx,dy)=a⃗ −b⃗ (dx,dy)=\vec{a}-\vec{b} 因此合法的(dx,dy)(dx,dy)范围为:A和-B的Minkowski原创 2018-05-09 19:08:40 · 2045 阅读 · 0 评论 -
POJ 3675/2986(Telescope/A Triangle and a Circle-三角形与圆的面积并)
这两题数据很强把我以前的板子卡掉了。。 贴个三角形与圆的面积并的板子POJ 3675 Telescope#include<cstdio>#include<cstring>#include<cstdlib>#include<algorithm>#include<functional>#include<iostream>#include<cmath>#include<cctype>#i原创 2016-09-08 10:45:54 · 739 阅读 · 0 评论 -
UOJ #242. 【UR #16】破坏蛋糕
一句话题意:平面上有 n+1条直线,前 n 条直线把平面分成许多块,这些块有些面积有限,有些面积无限,而第 n+1 条直线不经过前 n 条直线的交点,且一定不和前 n 条直线中的任意一条平行,求第 n+1 条直线被前 n 条直线划分成的 n+1 段中哪些在面积有限的块里,哪些在面积无限的块里。 保证第 n+1 条直线不经过前 n 条直线的交点,且一定不和前 n 条直线中的任意一条平行或重合。 保原创 2016-09-05 19:23:03 · 617 阅读 · 0 评论 -
几何算法专题2
LA 2512 Art GalleryUVA 10084 Hotter ColderUVA 11726 Crime SceneUVA 12307 Smallest Enclosing RectangleLA 2512 Art Gallery#include<bits/stdc++.h>using namespace std;#define For(i,n) for(int i=1;i<=n原创 2016-09-11 20:41:35 · 408 阅读 · 0 评论 -
求面积 (坐标叉积公式+凹多边形面积-坐标公式)
求面积(AREA)给出一个简单多边形(没有缺口),它的边要么是垂直的,要么是水平的。要求计算多边形的面积。多边形被放置在一个X-Y的卡笛尔平面上,它所有的边都平行于两条坐标轴之一。然后按逆时针方向给出各顶点的坐标值。所有的坐标值都是整数(因此多边形的面积也为整数)。 输入输入文件第一行给出多边形的顶点数n(n≤100)。接下来的几行每行给出多边形一个顶点的坐标值X和Y(都为整数原创 2012-10-26 17:38:13 · 3638 阅读 · 0 评论 -
POJ 1269(直线的交点)
Language:DefaultIntersecting LinesTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 7657 Accepted: 3510Description求两条直线相交部分,给出的坐标的范围在 -1000 到 1000 之原创 2012-12-30 12:48:42 · 1262 阅读 · 0 评论 -
POJ 2187(凸包GrahamScan扫描+极角排序+平面最远点对)
Language:Default平面最远点对Time Limit: 3000MS Memory Limit: 65536KTotal Submissions: 22454 Accepted: 6868Description求 N (2 的平方. Input* 第1行:N 接下来每行为原创 2013-01-18 11:54:17 · 1719 阅读 · 0 评论 -
POJ 2318(点集二分)
Language:DefaultTOYSTime Limit: 2000MS Memory Limit: 65536KTotal Submissions: 8137 Accepted: 3848Description在长方形 (x1,y1) (x2,y2) 中有n块板(保证与上下边相交),和m个点。现给原创 2013-01-22 11:09:55 · 1172 阅读 · 0 评论 -
BZOJ 1336([Balkan2002]Alien最小圆覆盖-最小覆盖圆)
1336: [Balkan2002]Alien最小圆覆盖Time Limit: 1 Sec Memory Limit: 162 MBSec Special JudgeSubmit: 733 Solved: 360[Submit][Status]Description给出N个点,让你画一个最小的包含所有点的圆。Input先给出点的个数N,2Out原创 2013-07-22 09:19:00 · 1701 阅读 · 0 评论 -
POJ 3304(线段与直线相交)[改]
Language:DefaultSegmentsTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 7144 Accepted: 2135Description在平面内给 n 条线段,问是否存在一条直线,使得所有线段在这条直线上的投影有公共点.原创 2013-01-11 17:00:40 · 1380 阅读 · 0 评论 -
BZOJ 1091([SCOI2003]切割多边形-切割直线)
1091: [SCOI2003]切割多边形Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 223 Solved: 82[Submit][Status]Description有一个凸p边形(p分别沿着直线1,2,3,4进行切割即可,得到中间的四边形。Input第一行有两个整数n, m(0 Outp原创 2014-10-10 21:56:42 · 1595 阅读 · 0 评论 -
CF497D(Gears-线段与圆相交)
D. Gearstime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputThere are two polygons on the plane, A and B. Poly原创 2015-02-22 15:29:14 · 1248 阅读 · 0 评论 -
CF 559A(Gerald's Hexagon-几何割补法)
A. Gerald's Hexagontime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputGerald got a very curious hexagon for h原创 2015-07-24 17:04:59 · 949 阅读 · 0 评论 -
CF 600D(Area of Two Circles' Intersection-2圆面积并)
给2圆求面积并花式卡精度,这题告诉我们运输过程中应尽量避免出现π\pi #include<cstdio>#include<iomanip>#include<cstring>#include<cstdlib>#include<algorithm>#include<functional>#include<iostream>#include<cmath>#include<cctype>#原创 2015-11-28 17:25:35 · 1027 阅读 · 0 评论 -
POJ 3714(Raid-平面最近点对)
给2类点 求1类到2类的最近点对距离 经典做法O(nlog2n)O(nlog^2n)#include<iostream>#include<cmath>#include<cstdio>#include<iomanip>#include<algorithm>#include<cstring> #include<functional>using namespace std;#defin原创 2016-05-01 16:55:56 · 560 阅读 · 0 评论 -
小鸡腿U T6 2013FINAL
Self-AssemblyLow PowerPollution SolutionSelf-Assembly拆点连边,用拓扑排序判定有没有环#include<cstdio>#include<cstring>#include<cstdlib>#include<algorithm>#include<functional>#include<iostream>#include<cmath>#原创 2016-08-21 11:05:51 · 435 阅读 · 0 评论