一个点可以为一个连通块,每连接两个点,都会由两个连通块合并为一个连通块。
如果最开始将所有边都删除,则得到n个连通块,此时答案即为v[n]。之后每连接一条边,则连通块减少一个,要让得分最大,就需要连接最大的边。
对边进行排序后,从大到小扫描边并逆序更新答案即可。
小红有一题n个节点的树,树中每一条边都有一个权值,多多还有一个长度为n的正整数序列:v1,v2,...,vn
删除树中若干条边之后(或者不删),就会变成一个有x个连通块的图,此时的得分为:剩余边权和+vi(两个可以互相到达的节点属于同一个连通块,注意一个孤点也是一个连通块)
小红可以删除图中若干条边(可以不删)。现在小红想知道,最多能够得到多少分。现在请你告诉小红答案。
第一行一个整数T,接下来有T组数据
每组数据第一行一个整数n(2≤n≤105)
第二行n个整数v1,...vn(1≤vi≤109)
接下来n−1行,每行3个数,a,b,w(1≤a,b≤n,1≤w≤104)。
表示节点a与节点b之间有一条权值为w的边
保证∑n 不超过105
保证每组数据给定的都是一棵树
对于每组数据输出一行一个整数,表示最多能够得到多少分
输入
1
3
1 3 4
1 2 1
2 3 2
输出
5
说明
删除1与2之间的边,此时剩余边权和=2,连通块数量=2,得分=2+v[2]=2+3=5
输入
2
3
3 3 4
1 2 1
2 3 2
3
1 2 5
1 2 1
2 3 2
输出
6
5
说明
第一组数据:不删除任何边
第二组数据:删除所有边
输入
1
5
2 5 2 1 4
2 1 1
2 4 4
4 3 3
1 5 4
输出
16
说明
删除2到1之间的边,形成2个连通块,此时得分为16