摘要: 链接貌似这样的叫解析几何重点如何求得过光源到圆的切线与地板的交点x坐标,可以通过角度及距离来算,如图,根据距离和半径可以求得角度a、b、r,自然也可以求得d1,d2.至于方向问题,在求r得时候 可以使r = asin((p.x-c.x)/d) p为源点,c为圆心 ,d为两点距离。若在反方向,自然r为... 阅读全文
posted @ 2014-08-04 22:05 _雨 阅读(597) 评论(0) 推荐(0) 编辑
摘要: 链接普通的暴力复杂度达到O(n^4),对于这题肯定是不行的。解法:随机增量算法参考http://www.2cto.com/kf/201208/149602.htmlalgorithm:A、令Ci表示为前i个点的最小覆盖圆。当加入新点pi时如果pi不在Ci-1里那么pi必定在Ci的边界上。B、再从新考... 阅读全文
posted @ 2014-08-04 21:45 _雨 阅读(284) 评论(0) 推荐(0) 编辑
摘要: 链接求某一点到其它点距离和最小,求这个和,这个点 为费马点。做法:模拟退火 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include10 using name... 阅读全文
posted @ 2014-08-04 15:33 _雨 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 链接题目说给你n个水箱,初始是没有水的,每个的高低位置可能不同,给了你初始的水箱底部所处的水平线位置,问给你V体积水时,水的水平线位置。直接二分位置p,对于每一个底部低于水平线位置的水箱,里面的水的体积 = min(h,p-b)*w*d; 1 #include 2 #include 3 #incl... 阅读全文
posted @ 2014-08-04 08:46 _雨 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 链接逆时针给出线段,如果模板是顺时针的修改下系数的符号进行平面交即可。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 us... 阅读全文
posted @ 2014-08-04 08:42 _雨 阅读(619) 评论(0) 推荐(0) 编辑
摘要: 链接根据距离可以列得直线方程,附上初始矩形的四个顶点,依次用直线切割。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #define eps 1e-8 7 using namespace std; 8 const... 阅读全文
posted @ 2014-08-04 08:39 _雨 阅读(293) 评论(0) 推荐(0) 编辑
摘要: 链接根据题意可以设三段路程分别为A,B,C那么总时间t = A/V+B/U+C/W.这样根据时间大小关系可以跟其余n-1个联立形成n-1个方程。化简后为A(1/vj-1/vi)+B(1/uj-1/ui)+C(1/wj-1/wi)>0这样就可以按照顺时针进行半平面交。初始需要加一个大的平面,可以加上4... 阅读全文
posted @ 2014-08-04 08:37 _雨 阅读(326) 评论(0) 推荐(0) 编辑
摘要: 链接将边长向内推进r,明显这样把第一个圆的圆心放在新的边长是肯定是最优的,与原本边相切,然后再找新多边上的最远的两点即为两圆心。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include ... 阅读全文
posted @ 2014-08-04 08:29 _雨 阅读(455) 评论(0) 推荐(0) 编辑