http://poj.org/problem?id=1990 题目大意:定义一对在树轴上的点,每对点产生的值为两点权值最大值*两点距离,求点对值和. 显然n*n复杂度不行,我们需要用树状数组维护两个东西. 对于某位置,一个是它和它前置位坐标和,一个是它和它前置位点的个数. 我们按照点i权值v从小到大排序添加,这样对于我们在树状数组里的点,我们一定是要乘当前的点的v,剩下的就是乘距离了. 对于坐标比它小的点的个数为num,坐标和为x,我们有答案num*x[i]-x. 同理对于坐标比它大的点也可以求…