20200912 专题:最小乘积生成树

本文探讨了一种寻找最小乘积生成树的方法,通过将问题转化为求解二维平面上与坐标轴最接近的点。首先确定与x轴和y轴最近的点A和B,接着找到离AB左下方距离最远的点C,通过优化边权来最大化三角形ABC的面积。此外,还介绍了将此问题转换为最佳匹配问题的思路,利用费用流解决。
摘要由CSDN通过智能技术生成

总览:

给出一个 n n n 个点 m m m 条边的无向图,第 i i i 条边有两个权值 a i , b i a_i,b_i ai,bi,求该图的一棵生成树 T T T ,使得 ∑ a i × ∑ b i \sum a_i\times \sum b_i ai×bi 最小

对于每一棵生成树,视作一个二维平面上的点, ( ∑ a i , ∑ b i ) (\sum a_i,\sum b_i) (ai,bi)
使得 ∑ a i × ∑ b i \sum a_i\times \sum b_i ai×bi 最小就是让点所在的反比例函数最靠近坐标轴

于是先求出与 x x x 轴和 y y y 轴最近的点
a i a_i ai 作为边权,求出的最小生成树就是与 x x x 轴最近的点
b i b_i bi 作为边权,求出的最小生成树就是与 y y y 轴最近的点
为了下面讲解的方便,设与 x x x 轴最近的点为 A A A ,与 y y y 轴最近的点为 B B B

然后需要找出在 A B AB AB 左下方,离 A B AB AB 最远的点 C C C
在这里插入图片描述
即使得 Δ A B C \Delta ABC ΔABC 的面积最大
S Δ A B C = A B → × A C → = ( x B − x A ) ( y C − y A ) − ( y B − y A ) ( x C − x A ) = − ( y B − y A ) x C + ( x B − x A ) y C − ( x B − x A ) y A + ( y B − y A ) x A S_{\Delta ABC}\\= \overrightarrow {AB}\times \overrightarrow {AC}\\= (x_B-x_A)(y_C-y_A)-(y_B-y_A)(x_C-x_A)\\= -(y_B-y_A)x_C+(x_B-x_A)y_C-(x_B-x_A)y_A+(y_B-y_A)x_A SΔABC=AB ×AC =(xBxA)(yCyA)(yBy

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值