随笔分类 -  ACM_计算几何

摘要:做法很显然,求出所有的锐角和钝角就能求出有多少个锐角三角形了。 我用了愚钝的方法,写了两三个小时。。。 看了下别人简单的代码。学习了下做法。 再附上自己拙略的代码: 阅读全文
posted @ 2016-08-11 10:21 chenhuan001 阅读(387) 评论(0) 推荐(0) 编辑
摘要:唉 被秀了。。。 还是太弱,说好的数形结合呢,列个式子出来后就被吓到了,然后就懵逼了。 题意: 有一条狗,从原点出发,沿n个向量走,每个向量只走一次,沿着一个向量(x,y)走时,既可以往(x,y)方向走,也可以往(-x,-y)方向走。 然后问这条狗离原点最远的距离。 如果写成方程: n个向量分别表示 阅读全文
posted @ 2016-03-03 22:42 chenhuan001 阅读(360) 评论(0) 推荐(0) 编辑
摘要:/*给出三维空间中的n个顶点,求解由这n个顶点构成的凸包表面的多边形个数. 增量法求解:首先任选4个点形成的一个四面体,然后每次新加一个点,分两种情况: 1> 在凸包内,则可以跳过 2> 在凸包外,找到从这个点可以"看见"的面,删除这些面, 然后对于一边没有面的线段,和新加的这个点新建一个面,至于这 阅读全文
posted @ 2016-02-13 14:43 chenhuan001 阅读(422) 评论(0) 推荐(0) 编辑
摘要://求两条直线之间的关系(三维) //输入:两条不为点的直线 //输出:相交返回XIANGJIAO和交点p,平行返回PINGXING,共线返回GONGXIAN int LineAndLine(Line3D L1,Line3D L2,Point3D &p) { Point3D px,py; px = 阅读全文
posted @ 2016-01-30 16:31 chenhuan001 阅读(1101) 评论(0) 推荐(0) 编辑
摘要:简单的题意,要注意z2 = h2*0.9-r2 #include <iostream> #include <cmath> #include <vector> #include <string.h> #include <stdlib.h> #include <algorithm> using name 阅读全文
posted @ 2016-01-29 01:07 chenhuan001 阅读(295) 评论(0) 推荐(0) 编辑
摘要:#include <iostream> #include <cmath> #include <vector> #include <string.h> #include <stdlib.h> #include <stdio.h> #include <algorithm> using namespace 阅读全文
posted @ 2016-01-28 13:31 chenhuan001 阅读(321) 评论(0) 推荐(0) 编辑
摘要:写几何题总是提心吊胆。精度问题真心吓人。其实思路挺简单的一道题,真是什么算法和几何double搞到一块,心里就虚虚的。思路:求出所有圆之间的交点,然后用这些交点跑一遍最短路就可以了。AircraftTime Limit: 10000/3000 MS (Java/Others)Memory Limit... 阅读全文
posted @ 2016-01-11 17:32 chenhuan001 阅读(410) 评论(0) 推荐(0) 编辑
摘要:求出所有线段的交点,然后利用叉乘求四边形面积即可。//// main.cpp// poj1408//// Created by 陈加寿 on 15/12/31.// Copyright (c) 2015年 chenhuan001. All rights reserved.//#include... 阅读全文
posted @ 2015-12-31 18:50 chenhuan001 阅读(216) 评论(0) 推荐(0) 编辑
摘要:做完了才发现,好像没有人和我的做法一样的,不过我怎么都觉得我的做法还是挺容易想的。我的做法是:把周围的方框按顺时针编号,然后对于每一条边,如果点出现在边的一侧,则把另一侧所有的点加1,这样最后统计最小值+1即可。离散化一下 O(n)//// main.cpp// poj1066//// Cre... 阅读全文
posted @ 2015-12-31 01:18 chenhuan001 阅读(340) 评论(0) 推荐(0) 编辑
摘要:这题只能呵呵了。东搞西搞,折腾快一天,最后用了一个800多行的代码AC了。好好的题目你卡这种精度干啥。 还有要卡您就多卡点行不,为什么long double 又可以过。。。废了N长时间写个了不管精度的解法,结果网上看别人都是几十行代码轻松搞定,真是要吐血。不过 还是学了一些东西的。第一个 :atan... 阅读全文
posted @ 2015-11-17 23:25 chenhuan001 阅读(248) 评论(0) 推荐(0) 编辑
摘要:枚举所有可能的半径,然后将所有满足这个半径的点按角度(与x轴正半轴的夹角)排序。 然后一遍扫描求出在这个半径下选k个点所需的最小面积 。思路还是比较简单,实现略有些繁琐。要先将点的坐标转换为角度。 如果用斜率的方法的话有些繁琐。Fire-Control SystemTime Limit: 12000/5000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 2047Accepted Submission(s): 350Problem DescriptionA new mighty wea 阅读全文
posted @ 2013-10-02 21:49 chenhuan001 阅读(373) 评论(0) 推荐(0) 编辑
摘要:看了算法导论, 发现了一种求最近点对的高效方法, 就是在合并操作时只找每个点(已经按y排好序)以下的6个点 。 这样就可以使复杂度变为O(n*logn*logn) ,但是这题我却没有发现有这个性质,用的是一种比较好的优化。RaidTime Limit:5000MSMemory Limit:65536KTotal Submissions:6865Accepted:2026DescriptionAfter successive failures in the battles against the Union, the Empire retreated to its last stronghold 阅读全文
posted @ 2013-03-30 17:34 chenhuan001 阅读(444) 评论(0) 推荐(0) 编辑
摘要:用半分治法做的. 很在把一堆分成两堆后,递归求得这两堆的最小距离后,关键就是求两堆之间的距离是否会更小,然后用一些优化就可以过这题.下次试试算法导论上的方法,应该会稳定些,感觉这方法还是很坑的, 可以有数据克. 不过要弄出这种数据也难.还有感觉分治法,和归并排序很相似.Quoit DesignTime Limit: 10000/5000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 15345Accepted Submission(s): 3814Problem Description 阅读全文
posted @ 2013-02-15 23:18 chenhuan001 阅读(304) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示