摘要:
唉~~~~~这题实在是坑爹,数据范围1<=N<=50000,很明显O(N^2)的算法过不了,但是居然过了-_-!!!!!!!!!!!!跪求神牛高效算法。。。先来分析下这题,给出N个点,从中选出3个点,使其面积达到最大。先用凸包进行初步优化:因为最大面积三角形的顶点一定在凸包上。然后直接在凸包上暴力枚举是肯定不行的。。O(N^3)所以这要用到一种思想,旋转卡壳。能够将其中一个点的枚举次数平摊为O(1).所以总的时间复杂度为O(N^2).旋转卡壳枚举思路:先固定i,j这2个邻接的顶点。然后找出triangle_area(i,j,k)最大的那个K点。然后再固定i,枚举j点,由于k点是随着 阅读全文
posted @ 2012-03-03 14:58
Dev-T
阅读(678)
评论(0)
推荐(0)
浙公网安备 33010602011771号