
几何-基础
文章平均质量分 70
JeraKrs
本人目前就职于百度商业研发部,有需要内推的朋友简历可发我邮箱 jerakrs@qq.com
展开
-
uva 1373 - How I Wonder What You Are!(几何)
题目链接:uva 1373 - How I Wonder What You Are!#include #include #include #include #include #include using namespace std;const double eps = 1e-6;inline int dcmp (double x) { if (fabs(x) < e原创 2015-08-31 23:05:34 · 898 阅读 · 0 评论 -
uva 1342 - That Nice Euler Circuit(欧拉定理)
题目链接:uva 1342 - That Nice Euler Circuit欧拉定理:边数-点的个数+2=面数#include #include #include #include using namespace std;const double pi = 4 * atan(1);const double eps = 1e-9;inline int dc原创 2015-08-17 20:37:16 · 693 阅读 · 0 评论 -
uva 1301 - Fishnet(几何+枚举)
题目链接:uva 1301 - Fishnet#include #include #include #include #include using namespace std;const double pi = 4 * atan(1);const double eps = 1e-14;inline int dcmp (double x) { if (fabs(x)原创 2015-08-17 21:13:55 · 575 阅读 · 0 评论 -
uva 10969 - Sweet Dream(几何)
题目链接:uva 10969 - Sweet Dream枚举两圆,获得交点,这样每个圆就被分成若干段弧,判断每段弧时候可见。#include #include #include #include #include using namespace std;const double pi = 4 * atan(1);const double eps = 1e-1原创 2015-08-17 21:16:57 · 679 阅读 · 0 评论 -
uva 10335 - Ray Inside a Polygon(几何)
题目链接:uva 10335 - Ray Inside a Polygon恶心题,注意精度和输出等问题,代码中有标识,后面有一些数据。#include #include #include #include #include using namespace std;const double pi = 4 * atan(1);const double eps =原创 2015-08-17 21:22:14 · 721 阅读 · 0 评论 -
uva 11928 - The Busy Dog(几何)
题目链接:uva 11928 - The Busy Dog#include #include #include #include #include using namespace std;const double pi = 4 * atan(1);const double eps = 1e-6;inline int dcmp (double x) { if (fab原创 2015-08-17 21:26:47 · 675 阅读 · 0 评论 -
uva 800 - Crystal Clear(几何)
题目链接:uva 800 - Crystal Clear不知道士标程的问题还是精度的问题,在UVAlive上过掉了。#include #include #include #include #include using namespace std;const double pi = 4 * atan(1);const double eps = 1e-9;i原创 2015-08-17 21:39:37 · 595 阅读 · 0 评论 -
uva 1100 - Paperweight(几何重心)
题目链接:uva 1100 - Paperweight#include #include #include #include #include #include using namespace std;const double eps = 1e-8;inline int dcmp (double x) { if (fabs(x) < eps) return 0; e原创 2015-08-31 23:03:57 · 683 阅读 · 0 评论 -
uva 11796 - Dog Distance(几何)
题目链接:uva 11796 - Dog Distance将一只狗位移向量加到另一只上,即变成点到线段的最短距离。#include #include #include #include using namespace std;const double pi = 4 * atan(1);const double eps = 1e-9;inline int d原创 2015-08-17 20:39:46 · 720 阅读 · 0 评论 -
uva 12304 - 2D Geometry 110 in 1!(几何)
题目链接:uva 12304 - 2D Geometry 110 in 1!没什么好说的,根据操作直接处理。#include #include #include #include #include using namespace std;const double pi = 4 * atan(1);const double eps = 1e-9;inlin原创 2015-08-17 20:42:48 · 1039 阅读 · 0 评论 -
uva 1308 - Viva Confetti(几何)
题目链接:uva 1308 - Viva Confetti枚举一下两圆,处理出所有弧,然后判断每段弧的中点是否可见,可见的话该弧所在的圆也可见,以及该段弧下面的圆也可见。#include #include #include #include #include using namespace std;const double pi = 4 * atan(1);原创 2015-08-17 21:00:52 · 917 阅读 · 0 评论 -
uva 11178 - Morley's Theorem(几何)
题目链接:uva 11178 - Morley's Theorem直接按照题意处理。#include #include #include #include using namespace std;const double pi = 4 * atan(1);const double eps = 1e-9;inline int dcmp (double x原创 2015-08-17 20:34:56 · 628 阅读 · 0 评论 -
uva 11646 - Athletics Track(几何)
题目链接:uva 11646 - Athletics Track#include #include #include #include using namespace std;const double pi = 4.0 * atan(1.0);int main () { int a, b, cas = 1; char c[10]; while (scanf("%d%s原创 2015-08-05 09:06:32 · 752 阅读 · 0 评论 -
uva 1333 - Model Rocket Height(几何)
题目链接:uva 1333 - Model Rocket Height#include #include #include #include using namespace std;const double eps = 1e-9;const double pi = 4 * atan(1);inline int dcmp(double x) { if (fabs(x)原创 2015-08-31 23:06:53 · 952 阅读 · 0 评论 -
uva 10794 - The Deadly Olympic Returns!!!(几何)
题目链接:uva 10794 - The Deadly Olympic Returns!!!点到线段的距离,终点定无穷远。#include #include #include #include #include #include using namespace std;const double eps = 1e-8;inline int dcmp (do原创 2015-08-31 23:08:45 · 684 阅读 · 0 评论 -
uva 11836 - Star War(几何)
题目链接:uva 11836 - Star War就三种情况,点到线段,点到面,线段到线段。#include #include #include #include #include #include using namespace std;const double eps = 1e-6;inline int dcmp (double x) { if (f原创 2015-08-31 23:10:38 · 553 阅读 · 0 评论 -
uva 535 - Globetrotter(几何弧面长)
题目链接:uva 535 - Globetrotter#include #include #include #include #include #include using namespace std;//Lab = R * arccos(cos(wa)*cos(wb)*cos(ja-jb) + sin(wa)*sin(wb))const int maxn原创 2015-08-31 23:12:09 · 717 阅读 · 0 评论 -
uva 11275 - 3D Triangles(几何)
题目链接:uva 11275 - 3D Triangles#include #include #include #include #include using namespace std;const double eps = 1e-9;inline int dcmp (double x) { if (fabs(x) < eps) return 0; else retu原创 2015-08-31 22:52:03 · 701 阅读 · 0 评论 -
uva 1469 - Ardenia(几何+分数)
题目链接:uva 1469 - Ardenia#include #include #include #include using namespace std;typedef long long ll;struct Point3 { int x, y, z; Point3 (int x = 0, int y = 0, int z = 0): x(x), y(y),原创 2015-08-31 22:57:32 · 988 阅读 · 0 评论 -
uva 11524 - InCircle(几何)
题目链接:uva 11524 - InCircle#include #include #include #include using namespace std;const int maxn = 3;double cal (double a, double b, double c) { return a + b - c;}int main () { int cas原创 2015-08-05 09:05:58 · 602 阅读 · 0 评论 -
uva 11817 - Tunnelling the Earth(几何)
题目链接:uva 11817 - Tunnelling the Earth#include #include #include #include using namespace std;const double R = 6371009;const double pi = 4 * atan(1.0);struct Point { double x, y, z;}p[2]原创 2015-08-05 09:06:16 · 826 阅读 · 0 评论 -
uva 11437 - Triangle Fun(几何)
题目链接:uva 11437 - Triangle Fun#include #include #include #include #include using namespace std;const int maxn = 3;struct point { double x, y; void input() { scanf("%lf%lf", &x, &y);原创 2015-08-05 09:06:49 · 826 阅读 · 0 评论 -
uva 11800 - Determine the Shape
题目链接:uva 11800 - Determine the Shape#include #include #include #include using namespace std;const int maxn = 4;const double eps = 1e-6;const char T[6][30] = {"Square", "Rectangle", "Rhombu原创 2015-08-05 09:07:06 · 834 阅读 · 0 评论 -
uva 10075 - Airlines(几何+最短路)
题目链接:uva 10075 - Airlines在球面上处理出两点的距离,Floyd处理。#include #include #include #include #include #include //#include using namespace std;/* d = r*sqrt(2-2*(cos(lat1)*cos(lat2)*cos(lon1-原创 2015-08-17 21:19:03 · 901 阅读 · 0 评论 -
uva 503 - Parallelepiped walk(几何)
题目链接:uva 503 - Parallelepiped walk恶心题,将三维转成两维,直线距离最短,WA了一天。假设起点在地面,除了考虑经过0,1个面的可能,还要考虑经过两个面到达的可能。后面提供一个生成数据的代码。#include #include #include using namespace std;typedef long long ll;con原创 2015-08-17 21:33:36 · 1193 阅读 · 0 评论 -
uva 303 - Pipe(几何)
题目链接:uva 303 - Pipe枚举射线,然后逐一判断。#include #include #include #include #include using namespace std;const double pi = 4 * atan(1);const double eps = 1e-6;inline int dcmp (double x) {原创 2015-08-17 21:35:40 · 789 阅读 · 0 评论 -
hihoCoder 1231 Border Length(几何)
题目链接:hihoCoder 1231 Border Length解题思路处理处所有交点,按照交点和存在的点分段,如果是圆,则每一段均为弧,如果是多边形的边,则每一段为线段。每段取中间点,判断是否在多边形或者圆中。代码#include <cstdio>#include <cstring>#include <cmath>#include <vector>#include <complex>#原创 2015-10-07 12:07:59 · 812 阅读 · 0 评论 -
hdu 3264 Open-air shopping malls(几何)
题目链接:hdu 3264 Open-air shopping malls解题思路圆与圆面积交代码#include <cstdio>#include <cstring>#include <cmath>#include <algorithm>using namespace std;const double pi = 4 * atan(1.0);const double eps = 1e-8;原创 2015-11-09 20:24:12 · 524 阅读 · 0 评论 -
hdu 4606 Occupy Cities(几何+二分+KM)
题目链接:hdu 4606 Occupy Cities解题思路首先预处理出两两点之间的最短距离,然后二分背包容量,用KM判断是否可行。预处理部分,将所有线段的端点加入考虑,枚举两点之间直线,如果与线段相交则不可以移动。然后用floyd处理出点点之间的最短距离。判断部分,因为有P个士兵,所以对于一个距离,可以根据占领顺序处理出有向边,然后用KM处理至少需要多少个士兵。代码#include <cstdi原创 2015-10-26 21:26:17 · 719 阅读 · 0 评论 -
hdu 4617 Weapon(几何)
题目链接:hdu 4617 Weapon解题思路异面直线之间距离。代码#include <cstdio>#include <cstring>#include <cmath>#include <cstdlib>#include <vector>#include <algorithm>using namespace std;const double eps = 1e-8;inline int原创 2015-10-26 21:44:29 · 596 阅读 · 0 评论 -
poj 2546 Circular Area(几何)
题目链接:poj 2546 Circular Area代码#include <cstdio>#include <cstring>#include <cmath>#include <algorithm>using namespace std;const double pi = 4 * atan(1.0);const double eps = 1e-8;inline int dcmp (dou原创 2015-11-09 20:38:30 · 533 阅读 · 0 评论 -
hdu 4637 Rain on your Fat brother(几何+区间覆盖)
题目连接:hdu 4637 Rain on your Fat brother解题思路题目等价于求线段与雨水的交,t为mazi停下来的时间,妹子移动相对于雨水的移动路线为(x,0)−(x−V1∗t,V∗t)(x,0)-(x-V1*t, V*t),然后求出线段与每个雨水相交点,计算出进出时间,注意于圆相交的部分只能计算下半圆。 接着做一下区间覆盖,因为雨滴有重叠。代码#include <cstdio>原创 2015-10-28 21:50:47 · 708 阅读 · 0 评论 -
hdu 4793 Collision(几何)
题目链接:hdu 4793 Collision代码#include <cstdio>#include <cstring>#include <cmath>#include <vector>#include <algorithm>using namespace std;const double pi = 4 * atan(1);const double eps = 1e-6;inline i原创 2015-11-14 21:05:11 · 509 阅读 · 0 评论 -
hdu 4798 Skycity(几何)
题目链接:hdu 4798 Skycity代码#include <cstdio>#include <cstring>#include <cmath>#include <algorithm>using namespace std;const double pi = 4 * atan(1.0);int F;double R, L, H, S;double solve (double r, do原创 2015-11-14 21:06:23 · 739 阅读 · 0 评论 -
hdu 5563 Clarke and five-pointed star(几何)
题目链接:hdu 5563 Clarke and five-pointed star代码#include <cstdio>#include <cstring>#include <cmath>#include <algorithm>using namespace std;const double eps = 1e-4;struct Point { double x, y; Po原创 2015-11-16 18:10:35 · 651 阅读 · 0 评论 -
hdu 4643 GSM(几何)
题目链接:hdu 4643 GSM代码#include <cstdio>#include <cstring>#include <cmath>#include <vector>#include <algorithm>using namespace std;const double eps = 1e-10;inline int dcmp(double x) { if (fabs(x)<eps)原创 2015-10-30 23:18:54 · 612 阅读 · 0 评论 -
hdu 5473 There was a kingdom(dp+几何)
题目链接:hdu 5473 There was a kingdom解题思路选取的点一定在凸包上,所以对点集做凸包,如果凸包的点个数小于等于K,面积可以取到最大值。否则,枚举起点,做动态规划。dp[i][j]表示到第i个点选取了j个点的最优解。这样的复杂度为o(n2k)o(n^2k),算上枚举起点总得复杂度为o(n3k)o(n^3k)。但是,我们选取的是k个点,如果有枚举到一次的起点在这k个点上,即可原创 2015-10-01 16:40:20 · 1449 阅读 · 0 评论 -
hdu 5476 Explore Track of Point(几何)
题目链接:hdu 5476 Explore Track of Poin#include #include #include #include #include #include using namespace std;typedef pair pii;const double pi = 4 * atan(1);const double eps = 1e-6;in原创 2015-10-01 11:24:52 · 781 阅读 · 0 评论 -
uva 10556 - Biometrics(几何)
题目链接:uva 10556 - Biometrics旋转角度可长度比例相同即可,注意精度。#include #include #include using namespace std;typedef long long ll;struct Point { ll x, y; void read() { scanf("%lld%lld", &x, &y);原创 2015-08-17 21:23:57 · 1071 阅读 · 0 评论 -
uva 313 - Intervals(几何)
题目链接:uva 313 - Intervals点和圆的切线,线和线的交点。#include #include #include #include #include using namespace std;const double pi = 4 * atan(1);const double eps = 1e-6;inline int dcmp (doub原创 2015-08-17 21:37:32 · 600 阅读 · 0 评论