LA 3263 平面划分】的更多相关文章

Little Joey invented a scrabble machine that he called Euler, after the great mathematician. In his primary school Joey heard about the nice story of how Euler started the study about graphs. The problem in that story was - let me remind you - to dra…
题目传送门 题意:一笔画,问该图形将平面分成多少个区域 分析:训练指南P260,欧拉定理:平面图定点数V,边数E,面数F,则V + F - E =  2.那么找出新增的点和边就可以了.用到了判断线段相交,求交点,判断点在线上 /************************************************ * Author :Running_Time * Created Time :2015/10/22 星期四 09:10:09 * File Name :LA_3263.cpp…
题意: 平面上有n个端点的一笔画,最后一个端点与第一个端点重合,即所给图案是闭合曲线.求这些线段将平面分成多少部分. 分析: 平面图中欧拉定理:设平面的顶点数.边数和面数分别为V.E和F.则 V+F-E=2 所求结果不容易直接求出,因此我们可以转换成 F=E-V+2 枚举两条边,如果有交点则顶点数+1,并将交点记录下来 所有交点去重(去重前记得排序),如果某个交点在线段上,则边数+1 //#define LOCAL #include <cstdio> #include <cstring&…
欧拉定理题意: 给你N 个点,按顺序一笔画完连成一个多边形 求这个平面被分为多少个区间 欧拉定理 : 平面上边为 n ,点为 c 则 区间为 n + 2 - c: 思路: 先扫,两两线段的交点,存下来,有可能会有重复点, 用STL unique 去重 在把每个点判断是否在线段上,有,则会多出一条线段(不包括端点的点) 这样就得出结果了 O(n * n )   /// 这题还有点卡精度, 1e-11 WA, 1e-9 A了--. #include<iostream> #include<cs…
题目大意:一个平面区域有n条线段,问能否从(0,0)处到达无穷远处(不穿过任何线段) 分析:若两条线段有一个端点重合,这种情况是不能从端点重合处穿过的 的.因此对每个端点延长一点,就可以避免这个问题. n*2个端点加上起始点跟终点,两两之间不穿过任何线段的为可行路径建图. 最后以(0,0)开始dfs,看能否到达无穷远点. #include<iostream> #include<vector> #include<cmath> #include<cstring>…
http://poj.org/problem?id=2284 https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1264 http://acm.hdu.edu.cn/showproblem.php?pid=1665 题目大意: 平面上有一个包含n个端点的一笔画,第n个端点总是和第一个端点重合,因此图案是一条闭合的曲线.组成一笔画…
题目大意: n个端点的一笔画 第n个和第1个重合 即一笔画必定是闭合曲线 输出平面被分成的区域数 欧拉定理 V+F-E=2 即 点数+面数-边数=2 (这里的面数包括了外部) #include <bits/stdc++.h> using namespace std; ; double add(double a,double b) { ; return a+b; } struct P { double x,y; P(){} P(double _x,double _y):x(_x),y(_y){}…
题意: 平面上有n条线段,一次给出这n条线段的两个端点的坐标.问怪兽能否从坐标原点逃到无穷远处.(两直线最多有一个交点,且没有三线共交点的情况) 分析: 首先说明一下线段的规范相交:就是交点唯一而且在两条线段的内部. 如果输入中有一条线段uv没有和其他任何一条线段规范相交,那么怪兽一定是可以从u走到v的. 所以我们可以建一个图模型,如果u可以走到v则添加一条边,最后BFS一下看能否从起点走到终点. 再考虑下特殊情况: 题中虽然说三线不会共交点,但貌似不包括三线共端点的情况. 比如这种情况: 线段…
题目链接:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1264 #include<cstdio> #include<cstring> #include<cmath> #include<iostream> #include<algorithm> #include&l…
题意:训练指南260 #include <cstdio> #include <cstring> #include <algorithm> #include <iostream> #include <cmath> using namespace std; struct Point { double x, y; Point(double x = 0, double y = 0) : x(x) , y(y) { } }; typedef Point V…