B. Maximal Area Quadrilateral

题意:在N个点中构建四边形,使得四边形面积最大,且不自交。

分析:不自交四边形可以剖分成两个三角形,因此可以在O(N^2)内枚举对角线,然后用O(N)寻找离对角线最远的两侧的点。其实这题最快应该能到O(NlgN),求出点集的凸包,然后在凸包上转一下。

C. Tourist Problem

题意:统计N!种路线的距离的均值。

分析:统计每段出现的次数,即统计(i,j)出现的次数,即统计(i_small, j_large)满足i_small<=i且j<=j_large下,出现的次数。

D. Bubble Sort Graph

题意:给定一个序列a[],对于序列中的两个数a[i], a[j],若满足a[j] < a[i]且i < j,则在点i和点j之间建立一条边,求该图的最大独立子集的大小。

分析:这个图一定是特殊的,求该图就是求该图补图的最大团,而该图的补图就是满足a[i]<a[j]且i<j,这样条件上的团其实就是一个递增序列,那么最大团就是最长上升子序列,最长上升子序列的O(NlgN)的算法可以用二分法或是通过线段树优化dp状态转移过程。

05-02 09:47