bzoj2395[Balkan 2011]Timeismoney最小乘积生成树
两个属性
考虑化成二维平面的点
每一个方案对应二维平面上的一个点(t,c)
答案一定在下凸壳上
先找到t,c的最小生成树点A,B这两者一定在凸包上
连线AB,找下面距离AB最远点C
即CA CB叉积最小(注意带符号)
推式子,改边权即可。
然后递归处理其余两边的点
凸包上的点不会太多。。。O(能过)
坐标转化思想注意
有的时候坐标可以:求凸包,斜率优化,扫描线。。。
两个属性
考虑化成二维平面的点
每一个方案对应二维平面上的一个点(t,c)
答案一定在下凸壳上
先找到t,c的最小生成树点A,B这两者一定在凸包上
连线AB,找下面距离AB最远点C
即CA CB叉积最小(注意带符号)
推式子,改边权即可。
然后递归处理其余两边的点
凸包上的点不会太多。。。O(能过)
坐标转化思想注意
有的时候坐标可以:求凸包,斜率优化,扫描线。。。