几何
文章平均质量分 78
lj_acm
这个作者很懒,什么都没留下…
展开
-
湖南省第六届程序设计大赛D(台球碰撞)
虽然这道题没有用什么算法,但却锻炼了思维//矢量分解#include #include #include using namespace std;double l,w,x,y,r,a,v,s;int main(){ while(cin>>l>>w>>x>>y>>r>>a>>v>>s) { if(!l&&!w&&!x&&!y&&!r&&!a&&!v&&!s) break原创 2013-01-04 18:08:15 · 780 阅读 · 0 评论 -
poj 1410
题目不难,就是线段相交判断。叉积和点积的应用,但是却需要细心,看清题意#include #include using namespace std;int cross(int x1,int y1,int x2,int y2){ return x1*y2-y1*x2;}int dot(int x1,int y1,int x2,int y2){ return x1原创 2013-03-03 15:22:19 · 415 阅读 · 0 评论 -
poj 1696
贪心+计算几何(叉点积)个人认为本体用贪心解释最合理,我就是用贪心思考的此题代码些的太挫啦#include #include #include #include #include using namespace std;const int maxn=55;int m,n;int vis[maxn];int path[maxn];struct P原创 2013-03-04 19:31:38 · 467 阅读 · 0 评论 -
poj 1113
凸包至今还不知道这道题为什么凸包就是解,在网上搜结题报告也都是说求凸包,没告诉深层原因,求大神解答#include #include #include #include using namespace std;const int maxn=1000+10;struct node{ int x,y;};node point[maxn];int ch[maxn];int原创 2013-03-05 21:07:23 · 838 阅读 · 0 评论 -
poj 2074
直线的交点,题目不是很难,但还是太粗心,其中有一步疏忽,导致无限wa,最后还是发现了#include #include #include using namespace std;const int maxn=10000;double eps=1e-10;struct node{ double x1,x2,y;};struct Point { double x,y; P原创 2013-03-07 18:48:01 · 804 阅读 · 0 评论 -
poj 1584
比较水的题,但是要细心,把情况考虑清楚#include #include #include using namespace std;const int maxn=10000;const double eps=1e-8;int n,f[maxn];double rad;struct Point{ double x,y;};Point ver[maxn],pel;doub原创 2013-03-10 15:13:29 · 677 阅读 · 0 评论 -
poj 2398
叉积+二分通过叉积来判断点在线段的某侧,找到在点右侧的最左边的边,即可判断点在第几个格子内,可以通过二分来优化查询速度#include #include #include using namespace std;const int maxn=1000+10;int n,m,x1,y1,x2,y2;struct segment{ int loc1,loc2;};segme原创 2013-02-28 19:55:47 · 406 阅读 · 0 评论 -
poj 3304
这道题学会的就是从结果想问题,找到应该考虑的方向如果存在一直线l,使所有线段在l上的投影有交点,考虑只有一个交点这个极限,过此交点m做l的垂线,所有线段上的那个在l上的投影是m的点肯定过此垂线,所以存在直线l的必要条件就是至少存在一条直线交所有的线段,然后很显然至少存在一条直线交所有的线段是存在直线l的充分条件,所以原问题就转化为了是否有一条直线交所有的线段,而这一问题,可转换为是否存在过某两原创 2013-03-02 16:04:09 · 370 阅读 · 0 评论