摘要: 求平面最远点对。朴素的O(n^2)算法显然超时。这里用到了一种旋转卡壳算法,逆时针开始找,找到第一对对踵点(被一对卡壳正好卡住的对应点),那么以后的点也必然是逆时针排列的。找对踵点可以用一条边找另一点使得该三角形面积最大,之后比较边端点与该点距离即可。View Code 1 /* 2 Coder:Zhaofa Fang 3 Lang:C++ 4 */ 5 #include <cstdio> 6 #include <cstdlib> 7 #include <iostream> 8 #include <cmath> 9 #include <cs 阅读全文
posted @ 2012-08-06 22:39 發_ 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 求凸包面积。三角形面积等于叉积的一半~View Code 1 /* 2 Coder:Zhaofa Fang 3 Lang:C++ 4 */ 5 #include <cstdio> 6 #include <cstdlib> 7 #include <iostream> 8 #include <cmath> 9 #include <cstring>10 #include <algorithm>11 #include <string>12 #include <vector>13 #include <q 阅读全文
posted @ 2012-08-06 20:34 發_ 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 凸包周长+圆周长View Code 1 /* 2 Coder:Zhaofa Fang 3 Lang:C++ 4 */ 5 #include <cstdio> 6 #include <cstdlib> 7 #include <iostream> 8 #include <cmath> 9 #include <cstring>10 #include <algorithm>11 #include <string>12 #include <vector>13 #include <queue>14 阅读全文
posted @ 2012-08-06 20:17 發_ 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 题意:给定凸多边形上的一些点,问能否唯一确定一个凸多边形(可以加点使之变成另一凸多边形)。分析:凸多边形的相邻两个顶点之间如果没有点,就有可能从外侧加一个点使之变成另一凸多边形,所以相邻两个顶点之间至少要有一个点,即每条边至少三个点。求出凸包的顶点,再枚举每条边的点数就可以了。View Code 1 /* 2 Coder:Zhaofa Fang 3 Lang:C++ 4 */ 5 #include <cstdio> 6 #include <cstdlib> 7 #include <iostream> 8 #include <cmath> 9 #i 阅读全文
posted @ 2012-08-06 18:18 發_ 阅读(124) 评论(0) 推荐(0) 编辑