摘要: 祝贺swm8023刷HDU-Steps登顶+突破新Section,14.2不是传说中的高级计算几何,而是数学~~ 阅读全文
posted @ 2012-09-10 22:50 CSGrandeur 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 如图,横坐标为时间轴,纵坐标为相对起点的位移,斜率为速度。设C为起点发出的包,发出时间为1,速度为1~2。设D为终点发出的包,发出时间为2,速度为1~2。A、B为探测器发出时间范围2~5,速度为4。由图可看出,发包的时间-位移相叠的范围为可能全部抓包的范围,称有效范围。在探测器的时间-位移范围内的有效范围/探测器时间-位移范围即探测器全部抓包的平均工作效率。对所有速度区间、探测器时间-位移区间、起点终点区间 做半平面交,得到凸包面积除以探测器时间-位移区间面积可得解。精度要求挺高的,eps注意一下。 1 #include<stdio.h> 2 #include<stdlib. 阅读全文
posted @ 2012-09-10 22:29 CSGrandeur 阅读(362) 评论(0) 推荐(0) 编辑
摘要: 如上图,设A、B为点集中的两个点, 分别以A、B为圆心作单位圆,则相交范围内的任意位置作新的单位圆,都可以同时包含A与B,如圆C,如果把C放在一个其中一个圆A的圆周上,则圆C的圆周会穿过点A。假设已得到题目的一个解圆O,则把得到的圆O通过移动,总可以让圆内的某个点X靠在圆周上,换言之,O也在X所作单位圆的圆周上。由此,可枚举在最终结果的圆周上的点X,目标圆心O在X的圆周上。每枚举一个X作为图中的点A,枚举其他所有点作为点B,可得到C对应点A、B的在A圆周上的一个范围,覆盖次数最多的那个范围就是当X作为点O圆周上的点所能得到的最优解O的范围,这个次数加1(点X)就是对应X的最优解。通过枚举所有X 阅读全文
posted @ 2012-09-10 14:10 CSGrandeur 阅读(479) 评论(0) 推荐(0) 编辑
摘要: 以位置为横坐标,速度为纵坐标,则高处的点总会跑到低处的点前面。如图B追上A的时间就是横坐标差除以纵坐标差,也就是说斜率的绝对值越大,追上的越快。那么C就不会比B先追上A,B有机会保持一段时间的第一。同理C会在未来追上B,而保持一段时间第一。由此看来,统计凸包上x最大点和y最大点之间点的个数即得答案。对于多点共线的情况,只计一次,在求凸包的时候就可以处理掉了。 1 #include<stdio.h> 2 #include<stdlib.h> 3 #include<string.h> 4 #include<math.h> 5 #include< 阅读全文
posted @ 2012-09-10 00:56 CSGrandeur 阅读(619) 评论(0) 推荐(0) 编辑