正题
这题其实想想很简单。(据说是老师找我们试水的
首先枚举一个关键点,因为我们知道分割这个多边形的最优方案一定是经过关键点的。
把顶点和关键点按照极角排序,做这个极角排序的方法,就是如果一个y<0,那么让x=-x,y=-y;那么所在的直线是不会变的,然后再用叉积排序就好了。
然后我们得到了从x正半轴到x负半轴的一堆直线,每次对于两条直线,我们求出来两条直线与多边形的交点,我们会得到四个点,然后依次连接起来就变成了一个四边形,假如有两边平行,我们考虑算出这个四边形把整个多边形分为的两部分中,关键点的数量是固定的,我们把它算出来,面积也是固定的,我们把它算出来,那么对于在这个四边形里面切一条线,使得一边的面积最大或者最小,我们就可以更新答案了。
经过严格证明,这条线的移动所对应的是单峰的,所以我们可以直接三分两条线段中的其中一条,然后求个交点,算一算面积就好了。
对于经过两个关键点的情况,暴力枚举直接求就好了。
代码后面再补,肯定是要补的。