UVa
文章平均质量分 74
zxy_snow
这个作者很懒,什么都没留下…
展开
-
UVA 10347 Medians
已知中线长度,求三角形面积。 = = 我还推导出来各边边长了,结果一直WA,可能是判断面积不合法有点问题。 后来发现这个有公式。。。神呐。。。 这个是我推导的 公式 已知中线x y z 求边长 a b c double a = 2.0/3.0*sqrt(2*x*x + 2*z*z - y*y);double b = 2.0/3.0*sqrt(2原创 2011-07-01 13:49:00 · 1079 阅读 · 0 评论 -
UVA 10927 Bright Lights
还是扫描线。Rank 15 耶~给你一些柱子还有柱子的高度,问你从0 0 哪些看不到。直接极角排序,然后相同角度按从近到远的距离排,然后保存共线最大高度,扫一遍即可。第二次输出排序忘排 y 了,WA了几次 = =。。还以为是比较猥琐的错误呢,比如1个数的话不是“are原创 2011-08-16 20:34:56 · 1759 阅读 · 0 评论 -
UVA 920 - Sunny Mountains
这个题和下个题都是那个台湾某大学网站上扫描线分类的。当然我这个题没感觉我那是扫描线过的,觉得是枚举过去的。。这题给你N个点,代表山峰和山谷,然后问你阳光能照到的长度。这题简化了,一个山峰必然挨着一个山谷。但是第一个点不一定是山峰,需要判断。然后直接找某个山峰后面的原创 2011-08-16 16:50:05 · 1583 阅读 · 0 评论 -
UVA 417 Word Index
纯粹练习map。。。写得比较鸡肋。。。然后发现string我也不咋会用 = =。。。无语都。。#include #include #include #include #include #include #include #include #includ原创 2011-08-15 23:41:06 · 1687 阅读 · 0 评论 -
UVA 137 Polygons
求两个凸多边形减去公共部分后的面积,半平面交求凸包交即可最后一行要输出换行,要不会WA#include #include #include #include #include #include #include #include #include #includ原创 2011-07-23 12:29:01 · 1017 阅读 · 0 评论 -
zoj 1886 || poj 2540 || UVA 10084 Hotter Colder
这题应该是经典题了吧,要不三个OJ都有。。。0 0 到 10,10区域中有个东西,你在0,0点,如果你走到某个点然后会告诉你离那个东西是近了还是远了。近了就是hotter 远了是colder,如果距离不变的话,就是same。这样的话,等于每次走一次就确定一个半平面区域,也就是从这原创 2011-07-21 20:43:34 · 1498 阅读 · 0 评论 -
poj 1271 || UVA 10117 Nice Milk
纠结了一下午啊!!!超时啊!!!我用WS的方法测了好久又测了下我的时间复杂度!!!感觉应该就卡在数据的最后一组啊!!!!在UVA wa了啊!!!说明UVA 机器比POJ快啊!!!思路:求蘸牛奶的最大面积,也就是半平面交后中间区域最小,所以只需要求得半平面交中间的最小区域即可。这个原创 2011-07-22 21:08:46 · 1523 阅读 · 3 评论 -
UVA 11345 Rectangles
一看这题,以为又是求矩形并呢。。。正好离散化又不熟。。就写写看。反正比写zoj1128好多了。但是又一看,是求所有矩形共同覆盖的面积。那么就是所有矩形的并了。我的map数组存的是当前点被多少个矩形覆盖。最后只要算被N个矩形覆盖的面积即可。纯练手。。。我想知道C++里有没有二分查找原创 2011-07-07 13:58:51 · 1260 阅读 · 0 评论 -
UVA 10005 Packing polygons
还是最小覆盖圆问题,以前做的时候不会。。。比较最小覆盖圆半径和题目给的半径大小。我的模板好长好长好长哦。。。T T 。。#include #include #include #include #include #include #include #include原创 2011-07-06 21:55:10 · 1650 阅读 · 0 评论 -
UVA 11704 - Caper pizza
这题UVA只有50+人过,有那么难么。。。过了之后成功垫底。。Total Submissions Users that tried itUsers that solved it264 70 58Your best accepted tryRanking Submis原创 2011-08-16 18:07:01 · 1447 阅读 · 0 评论 -
UVA 972 Horizon Line
继续扫描线。这题我做的挺鸡肋的,离散化+扫描线了。然后扫描线一段一段找。。其实我觉得存成线段的那些点应该会好做点。。这么做好纠结滴说。#include #include #include #include #include #include #incl原创 2011-08-16 19:05:31 · 932 阅读 · 0 评论 -
UVA 11227 The silver bullet
水题。枚举两点算穿过点的个数即可。去重我用的unique函数,很方便啊 = =。啊。。银色子弹。。。我想起来柯南了。。好久木有看了。。#include #include #include #include #include #include #include原创 2011-08-18 17:54:16 · 1169 阅读 · 0 评论 -
UVA 11983 Weird Advertisement
继续种树~~之前ZXL童鞋说那俩题不好做,我就先隔过去啦~然后就UVA这个题啦。和之前差不多,求至少K次覆盖的区域面积(虽然是求点数,但是可以转化为面积哈,因为我用的不是点树哈)。和3642差不多,这里的K最大是10,所以可以采用一样的方法。关键是怎么找规律,总不能写原创 2011-10-14 17:20:36 · 1467 阅读 · 0 评论 -
zoj 1943 || poj 2254 || UVA 535 Globetrotter ( UVA卡精度了 )
蛮水的题,给你N个城市的大地坐标,然后询问。我查询用map了,应该会快一点哈~好方便滴说。其他没啥了,就求下距离。zoj poj AC的代码是先求角度,然后 ang*r是答案。结果捏 UVA 死活过不去,后来看UVA的discuss,看了人家求距离的函数,贴了过来原创 2011-08-27 21:39:35 · 1419 阅读 · 0 评论 -
UVA 10075 Airlines
至此~UVA 计算几何分类下的 Great-Circle Distance (5/5) 5道题已经全部搞定。全是关于大地坐标转换的问题。这个题是给你大地坐标的城市以及航班,求最短路。最短路用folyd即可。有个坑姐的 trick ,先前计算出来的长度也要四舍原创 2011-08-27 22:35:21 · 1664 阅读 · 0 评论 -
zoj 1868 || UVA 10316 Airline Hub
这题卡精度啊。。伤不起。看来以后还是不要那么懒了。。求在哪个飞机场建造个HUB使得所有飞机场到这个HUB最长距离最短。给的是大地坐标。N才1000,枚举下就好了。比较圆心角就好了,因为地球半径是一样的。#include #include #include #原创 2011-08-27 14:33:26 · 1144 阅读 · 0 评论 -
UVA 10897 Travelling Distance
还是经度维度求距离。。。水题。。纯粹熟练模板。。#include #include #include #include #include #include #include #include #include #include #include #inc原创 2011-08-21 21:54:33 · 937 阅读 · 0 评论 -
UVA 11529 Strange Tax Calculation
如果不是做过HDU的3629,估计这题会卡很多。。HDU的3629是求给你N个点,问你能组成多少个凸的四边形。当时的做法就是,求出有多少个凹的四边形,然后拿C(n,4)减去凹的数目即可。而这个题是求所有三角形区域中包含的内点的个数,其实想一想,不就是求凹的四边形有多少原创 2011-08-19 14:17:31 · 1204 阅读 · 0 评论 -
UVA 10167 Birthday Cake
开始一看,以为还是极角排序加扫描线呢。后来发现不好弄啊,如果有很多位置,那么我扫到一个cherries 但是正好在满足题意的边界上,我随便加个eps应该就行了吧?后来再一看 = =。。。A B要求是整数,而且范围在-500到500,这个好办了。直接枚举每个 A B ,然后判原创 2011-08-20 20:24:38 · 1099 阅读 · 0 评论 -
UVA 10451 Ancient Village Sports && UVA 11909 Soya Milk && UVA 11152 Colourful Flowers
三个纯数学计算题,WA了好几次,充分说明我是多么多么马虎!!!!这三个题都涉及了好多三角函数,我用三角函数都用怕了,怕伤精度T T 。。水题而已,贴一起吧。第一个题求外接圆与多边形的面积差,内切圆与多边形的面积差。第二个是求剩下的体积,那个体积是一个立方体的一半。原创 2011-08-18 20:45:30 · 1425 阅读 · 0 评论 -
zoj 1892 || poj 2504 || UVA 10577 Bounding box
这题太坑姐了!!!!给你正多边形的三个点,求包围它的最小矩形面积(矩形长宽必须平行于x或y)按理是水题啊,求下三点的外接圆圆心(即正多边形的中心),然后随便找个点旋转向量即可。有waterloo的测试数据,一直差了点精度,一直在看自己哪点损失精度了,可是旋转向原创 2011-07-05 16:50:12 · 1556 阅读 · 0 评论 -
UVA 10301 Rings and Glue
坑姐题 = =。。。问你相互覆盖的圈圈最多有多少个。 输出是这个样子的,....1 ring.....0 rings.....x rings. 另一方面 ,看错题了 = =。。应该用搜索的。。。神呐。。 #include #include #include #include #include #include #include #in原创 2011-06-27 13:37:00 · 1607 阅读 · 0 评论 -
UVA 361 Cops and Robbers
给你警察点,强盗点,公民点。如果一个公民在警察组成的三角形内,那么他SAFE,不在警察内在强盗内,ROBBED,都不在输出NEITHER。 200个点,如果硬枚举的话,很可能超时了,后来想到,只要求出警察组成的凸包和强盗组成的凸包,判断公民是否在这两个凸包内即可。 数据比较阴险,看dis才知道T T 。。。 如果有三点警察共点,这个公民在这个点上的话也是SAFE,两个共点就原创 2011-06-22 20:06:00 · 1313 阅读 · 0 评论 -
UVA 634 Polygon
判断点是否在多边形内,我的这个模板好久没用了。。。用了下,蛮顺利的。。 #include #include #include #include #include #include #include #include #include #include using namespace std;const int MAX = 1010;struc原创 2011-06-21 12:44:00 · 126 阅读 · 0 评论 -
UVA 10088 Trees on My Island
又是这种题哈,计算多边形里面内整点的个数。 以前做过,这次直接上模板了。。 [Pick定理] 设以整数点为顶点的多边形的面积为S, 多边形内部的整数点数为N, 多边形边界上的整数点数为L, 则 N + L/2 - 1 = S 注意范围,我用long long 了,因为中间乘法往转换了 WA了一次。。。T T #include #include原创 2011-06-20 22:48:00 · 1103 阅读 · 0 评论 -
UVA 10173 Smallest Bounding Rectangle(旋转卡壳求最小面积外接矩形)
神呐。。。终于过了 T T 。。。 一个卡壳卡两天啊啊啊啊 !!!至少两天啊啊啊啊 !!!T T 。。。 这两天都是,不想复习了,就在纸上画画卡壳。。。画画凸包。。。然后想这个题怎么实现比较好。。。 我开始还是枚举旋转最小角度,代码十分之繁琐。。。其实我写差不多了,但是应该是有问题的,如果凸包是三角形,怎么都枚举不对T T 。。 丫丫的,索性今天下午想了想,改成每次原创 2011-06-15 22:13:00 · 3994 阅读 · 0 评论 -
UVA 10002 Center of Masses
给你一个凸多边形的点(又是无序),求质心。 质心和重心有什么区别呢?百度了下,发现,如果重力场均匀的话,这俩心重合。 那直接求重心好了。 因为无序,所以需要用凸包求下,然后再求重心。 #include #include #include #include #include #include #include #include #inc原创 2011-06-09 21:43:00 · 1313 阅读 · 0 评论 -
UVA 11626 Convex Hull
凸包。。。我要刷光各大OJ的凸包。。。 从discuss学来的。。。刚开始没看懂题意都。。想麻烦了。。 这个题是给你凸包上的点,给的无序,让你排出来有序的。 这个方法遇到一种情况就坏了。。。 就是下图: 但是,对于凸包来说,一定能找到一个点,过这个点平行于Y轴或者X轴的直线 能划分成两个区域。 不过具体怎么求,还要想想。 这道题是直接告诉原创 2011-06-08 15:18:00 · 1691 阅读 · 5 评论 -
UVA 218 Moth Eradication
水题。 顺时针输出凸包的点,求出凸包边长的总长度。 经测试,不存在n = 1的情况。也没说具体有多少个点。。。这题真是的。。 #include #include #include #include #include #include #include #include #include #include using namespace原创 2011-06-09 21:49:00 · 1129 阅读 · 0 评论 -
poj 1264 || UVA 109 SCUD Busters
UVA这题过得蛮多人的,觉得应该是个水题吧。 一读题,也不麻烦,给你N个王国,求下凸包,再求面积。给你一些炮弹,问炮弹炸掉的面积。(一个炮弹炸的话,整个王国都被炸了)。 直接求凸包后,求出各个王国的面积,然后判断炮弹在哪个王国里,这个直接用判断点是否在多边形内。 UVA WA了一次,如果多个炮弹打到同一个王国里,面积只算一次的,改了后,A掉了。 poj上一搜,居然也原创 2011-06-09 13:12:00 · 2523 阅读 · 1 评论 -
poj 1410 || UVA 191 Intersection
判断线段是否和矩形相交,如果在矩形里也算相交。 初始化的坐标赋值写错了一个数,WA了半天T T 。。还有就是,输入的矩形坐标不一定是左上和右下。。真黑啊 #include #include #include #include #include #include #include #include #include #include us原创 2011-06-23 21:33:00 · 2141 阅读 · 4 评论 -
UVA 10065 Useless Tile Packers
水题,求个面积,再求个凸包的面积,减一下除以凸包面积即可。 复制的时候 多复制了个空格,PE了次。。以为是换行问题,改了下WA了。。。后来才看到。。。看来复制输出也要小心啊。。 #include #include #include #include #include #include #include #include #include #inc原创 2011-06-21 12:16:00 · 1760 阅读 · 0 评论 -
UVA 10652 Board Wrapping
哇咔咔,这题RANK 8 (*^__^*) 嘻嘻……巨开心~~ 其实这题也不难哈,但是为嘛做的人这么少捏。。 就是给你N个矩形,问你所有矩形的面积占包围这个矩形的面积的百分比。 矩形的面积很好弄,长*宽即可,但是所有包围这个矩形的面积呢。既然是包装,肯定是个凸包,所以只要计算矩形的四个点,然后以这四个点作为一个点集求凸包即可。 这四个点的话,有点数学知识就原创 2011-06-21 23:31:00 · 998 阅读 · 0 评论 -
UVA 10522 Height to Area
一直三角形三个高,求这个三角形的面积。 我自己推的时候没耐心。。没推出来。。。百度后,发现 有公式。。。T T 。。。。贴一下。 设对应三边为a,b,c面积S=1/2ax=1/2by=1/2cza=2S/x b=2S/y c=2S/z 使用求积公式: S=√[m(m-a)(m-b)(m-c)]其中m=1/2(a+b+c) =原创 2011-06-26 12:14:00 · 1209 阅读 · 0 评论 -
UVA 10060 A hole to catch a man
这题。。。读懂就很水了。 给你一些钢板的形状(凸凹不限),还有厚度,给你圆井盖的半径和厚度,问你可以覆盖掉多少个井。 直接求面积求体积除下就好了,没啥好说的。。 #include #include #include #include #include #include #include #include #include #include原创 2011-06-24 21:38:00 · 1044 阅读 · 0 评论 -
UVA 10991 Region
三个圆的圆心连成三角形面积 - 三个扇形面积即可 我用asin算出来不对,现在想了想应该是角度问题,如果大于90度的话,用asin是不行的,用acos可以。 #include #include #include #include #include #include #include #include #include #include usi原创 2011-06-25 13:35:00 · 1122 阅读 · 0 评论 -
UVA 10078 The Art Gallery
判断这个。。。死角??艺术画廊,经典题目啊。 《计算几何:C语言描述》上有说guard这个点怎么找,开始没怎么看题,以为还得用半平面交神马的,那个我还不会,这个只要判断是否存在死角就可以了。 凸包是必然不存在的,如果不是凸包,必然存在。想象一下,如果是凹的多边形,必然有两个顶点之间连线不在多边形内,那么必然存在这个点。 所以只需判断是否是凸包即可。这个还可以用叉原创 2011-06-24 17:04:00 · 1315 阅读 · 0 评论 -
UVA 143 Orchard Trees
白皮书(《算法竞赛入门经典》)上的例题。 开始没注意,以为用PICK定理可以呢,后来发现顶点是浮点数,就不可以用gcd了 = =。。只能枚举了。 WA死了,才发现我是从0 0点到100 100了 ,应该从1到99的,笨蛋T T 。。。 判断点在内部用的面积。 开始没有考虑三点共线的状况。如果共线的话,必须整点在它们之间,因为和这三点共线的但是不在点之间的点求得的面积原创 2011-06-25 21:23:00 · 1602 阅读 · 0 评论 -
UVA 478 Points in Figures: Rectangles, Circles, and Triangles
= =。。。模板啊 。。模板不理解套着真纠结。 这题是判断一个点在哪几个图形里,倍感JAVA的继承真好。。。可惜不会用C++的继承。。。 不过也不大,就10个图。。。我就每个图里存三个图形了。。 判断在图形内部(边界不算内部),我开始套得模板,但是模板是边界也算的。。悲剧了,改了改一直WA,索性自己写个判断的,3行就没了 = =。。。 用叉积判断,如果都是同一个方向原创 2011-06-24 16:47:00 · 1439 阅读 · 0 评论 -
UVA 10678 The Grazing Cow
水题啊水题。。 一头牛被栓在两个柱子之间,牛可以在绳子上来回移动,问它能吃到草的最大面积。 高中学椭圆的定义,椭圆是平面上到两定点的距离之和为常值的点之轨迹, 也可定义为到定点距离与到定直线间距离之比为常值的点之轨迹。 所以可知,它的轨迹一定是个椭圆,然后计算出长半轴和短半轴长度求面积(PI*a*b)即可。 #include #include #inc原创 2011-06-25 13:12:00 · 1911 阅读 · 0 评论