NO.2联合权值
无向联通图G有n个节点,n−1条边。点从1 n依次编号,编号为i的点权值为Wi,每条边长度均为1.
图上两点u,v的距离定义为u,v的最短距离。
对于图上的点对(u,v),若它们的距离为2,则它们之间会产生Wu×Wv的联合权值。
请问图上可能产生联合权值的有序点对中,联合权值最大的是多少?所有权值之和是多少?
n≤200000
一直在水题,从未被超越= =
求最大值和次大值一直求错我也是醉了
原来比较最大值要用<=啊。。原来不能更新最大值可以更新次大值的啊。。木有更新次大值还过了九个点这是什么啊。。
无力吐槽。。
一直在水第一问= =
好吧言归正传。。
第二问:求联合权值之和
那么对于距离为2的点很不好处理,鉴于每一对点都会有一个中间点,那我们来研究一下它
比如一个点i,关于一个点k的对称中间点j,产生的联合权值为wi*wj
嘛,这个点i它的k产生的所有联合权值为wi*Σwj
那么关于k产生的所有联合权值为Σ(wi*Σwj)
展开来写的话是 w1*(w2+...+wn)+w2*(w1+w3+...+wn)+.....
化简得 (Σwi)^2-Σwi^2
那么第二问就可以直接统计了
水QAQ ----2015.7.19