最大三角形的三个顶点必定在凸包上。
求出凸包上的点后,枚举各种组合,得到最大面积。
朴素算法的时间复杂度是(n^3),但可根据凸包的单峰性进行剪枝。
固定前两点,然后顺着凸包枚举下一个点,求面积,可以发现面积是单峰性的。所以如果当前面积小于上面积,就直接break;
考虑还可以发现,当固定第一个点,枚举第二个点,依然存在单峰性,因此第二个循环里面也一样可以加上一个break。
最大三角形的三个顶点必定在凸包上。
求出凸包上的点后,枚举各种组合,得到最大面积。
朴素算法的时间复杂度是(n^3),但可根据凸包的单峰性进行剪枝。
固定前两点,然后顺着凸包枚举下一个点,求面积,可以发现面积是单峰性的。所以如果当前面积小于上面积,就直接break;
考虑还可以发现,当固定第一个点,枚举第二个点,依然存在单峰性,因此第二个循环里面也一样可以加上一个break。