C50取10有点多,不过我们观察一下发现凸多边形,必须要满足边永远是逆时针转的,这样就少很多点了.
再来就是,除了起点和第二个点之外,每个点都要符合"前一个点到自己到起点"是逆时针,还有"自己到起点到第二个点"也是逆时针(一开始少加了这种情况QQ,WA了一次),这样就能保证搜出来的多边形是凸多边形了.
因为上面的条件,我们可以把凸多边形切成很多块三角形,我们可以依序把这些三角形面积加起来,求出总面积,为了防止误差,我们都先算两倍面积(用测量员公式,只要整数座标,两倍面积就不会出现小数).
上限剪枝就是用现在最佳解限制爆搜,如果现在累积的面积已经超过目前最佳解了,那就剪掉.