摘要:题意:给定一些点,要求找出由这些点集构成的最大三角形面积。分析:最大三角形的三个顶点必定在凸包上。求出凸包上的点后,枚举各种组合,得到最大面积。朴素算法的时间复杂度是(n^3),但可根据凸包的单峰性进行剪枝。这里用到Rotating Calipers algorithm枚举三角形的第一个顶点i,然后初始第二个顶点j=i+1,第三个顶点k=j+1,循环k+1直到Area(i,j,k)>Area... 阅读全文
posted @ 2010-10-14 10:33 孟起 阅读 (732) 评论 (1) 编辑
摘要:变步长法属于模拟退火算法的一种。pku2790就可以使用这种方法求解。题意:是求一些空间点集的最小外接球半径。选取一个初始点,然后按一定步长前进,前进的方向选择为指向最靠近它的点。不断让步长衰减,过程中记录最优值。pku2420也是这种题型,可以参考IOI集训队2008年顾研的论文。题目链接:http://poj.org/problem?id=2069[代码]原文链接:unber的空间 PKU20... 阅读全文
posted @ 2010-10-13 17:15 孟起 阅读 (584) 评论 (0) 编辑
摘要:判断点是否在多边形中:判断点P是否在多边形中是计算几何中一个非常基本但是十分重要的算法。以点P为端点,向左方作射线L,由于多边形是有界的,所以射线L的左端一定在多边形外,考虑沿着L从无穷远处开始自左向右移动,遇到和多边形的第一个交点的时候,进入到了多边形的内部,遇到第二个交点的时候,离开了多边形,……所以很容易看出当L和多边形的交点数目C是奇数的时候,P在多边形内,是偶... 阅读全文
posted @ 2010-10-13 11:53 孟起 阅读 (495) 评论 (0) 编辑
摘要:包含点集所有点的最小圆的算法http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=450平面上有n个点,给定n个点的坐标,试找一个半径最小的圆,将n个点全部包围,点可以在圆上。1. 在点集中任取3点A,B,C。2. 作一个包含A,B,C三点的最小圆,圆周可能通过这3点,也可能只通过其中两点,但包含第3点.后一种情况圆周上的两点一定是位... 阅读全文
posted @ 2010-10-12 18:18 孟起 阅读 (1874) 评论 (0) 编辑
摘要:问题描述:The norm of a vector v = (v1, v2, ... , vn) is define as norm(v) = |v1| + |v2| + ... + |vn|. And in Problem 0000, there are n cases, the standard output is recorded as a vector x = (x1, x2, ... ,... 阅读全文
posted @ 2010-10-09 16:29 孟起 阅读 (401) 评论 (0) 编辑
摘要:这一题其实并不难,昨天比赛时WA了,下来请教了队友,原来是用的矩形切割Problem 363462MS 224K本题思路:以出现的矩形端点为交点将所有的矩形分割成一个个小矩形,这里的点要求不重复且升序,正好用到set很方便(相当于离散化)。然后再把原来的矩形按照value的降序排列,将每个矩形所覆盖的且还没有着色小矩形块统统着色,并求价值和,即得结果。查找矩形覆盖的小矩形块时可用二分,但本题数据规... 阅读全文
posted @ 2010-10-03 17:23 孟起 阅读 (484) 评论 (0) 编辑
摘要:旋转卡壳可以用于求凸包的直径、宽度,两个不相交凸包间的最大距离和最小距离等。虽然算法的思想不难理解,但是实现起来真的很容易让人“卡壳”。拿凸包直径(也就是凸包上最远的两点的距离)为例,原始的算法是这样子:Compute the polygon's extreme points in theydirection. Call themyminandymax. Construct... 阅读全文
posted @ 2010-09-16 14:55 孟起 阅读 (5103) 评论 (0) 编辑
摘要:题目大意:有t组cases。每组给你一个from,to,和串s。将from进制下的串s转化为to进制下的串题目链接:PKU1220 NUMBER BASE CONVERSION题目分析:直接对进制转换时的人工方法进行模拟,直到将串s除尽。[代码] 阅读全文
posted @ 2010-09-13 15:17 孟起 阅读 (1036) 评论 (0) 编辑
摘要:今天下午哈尔滨赛区网络预选赛1003出了一道大数开方的题,自己用了XX大学的模板,并错误的深信不疑,导致WA11次,悲剧RANK94如果1Y了,肯定是另一种结果啊。情何以堪……赛后得知模板用错,用中山大学的模板区做URAL1153Supercomputer(大数开方),小菜一碟。题目大意:N=x*(x+1)/2,给你N (N < 10600),输出x分析:求sqr... 阅读全文
posted @ 2010-09-11 21:08 孟起 阅读 (969) 评论 (2) 编辑
摘要:题目描述 Give you a lot of positive integers, just to find out how many prime numbers there are.. In each case, there is an integer N representing the number of integers to find. Each integer won’t ... 阅读全文
posted @ 2010-09-07 15:47 孟起 阅读 (4578) 评论 (0) 编辑