【BZOJ2395】【Balkan 2011】Timeismoney 最小乘积生成树

bzoj2395[Balkan 2011]Timeismoney最小乘积生成树

两个属性

考虑化成二维平面的点

每一个方案对应二维平面上的一个点(t,c)

答案一定在下凸壳上

先找到t,c的最小生成树点A,B这两者一定在凸包上

连线AB,找下面距离AB最远点C

即CA CB叉积最小(注意带符号)

推式子,改边权即可。

然后递归处理其余两边的点

凸包上的点不会太多。。。O(能过)

 

坐标转化思想注意

有的时候坐标可以:求凸包,斜率优化,扫描线。。。

 

posted @ 2019-01-02 17:17  *Miracle*  阅读(157)  评论(0编辑  收藏  举报