CF1223E.Paint the Tree
提高+/省选-
通过率:0%
时间限制:2.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
You are given a weighted tree consisting of n vertices. Recall that a tree is a connected graph without cycles. Vertices ui and vi are connected by an edge with weight wi.
Let's define the k-coloring of the tree as an assignment of exactly k colors to each vertex, so that each color is used no more than two times. You can assume that you have infinitely many colors available. We say that an edge is saturated in the given k-coloring if its endpoints share at least one color (i.e. there exists a color that is assigned to both endpoints).
Let's also define the value of a k-coloring as the sum of weights of saturated edges.
Please calculate the maximum possible value of a k-coloring of the given tree.
You have to answer q independent queries.
你将得到一棵包含 n 个顶点的带权树。回忆一下,树是一种无环的连通图。顶点 ui 和 vi 之间由一条权重为 wi 的边相连。
我们定义树的一个 k-着色 为:为每个顶点恰好分配 k 种颜色,且每种颜色至多被使用两次(即至多出现在两个顶点上)。你可以假设有无穷多种颜色可供使用。若某条边的两个端点至少共享一种颜色(即存在一种颜色同时被分配给了这两个端点),则称该边在给定的 k-着色下是饱和的。
此外,定义一个 k-着色的值为所有饱和边的权重之和。
请计算给定树的所有 k-着色中可能达到的最大值。
你需要回答 q 个相互独立的询问。
输入格式
The first line contains one integer q (1≤q≤5⋅105) – the number of queries.
The first line of each query contains two integers n and k (1≤n,k≤5⋅105) — the number of vertices in the tree and the number of colors to assign to each vertex, respectively.
Each of the next n−1 lines describes an edge of the tree. Edge i is denoted by three integers ui, vi and wi (1≤ui,vi≤n, ui=vi, 1≤wi≤105) — the labels of vertices it connects and the weight of the edge. It is guaranteed that the given edges form a tree.
It is guaranteed that sum of all n over all queries does not exceed 5⋅105.
第一行包含一个整数 q(1≤q≤5⋅105),表示查询次数。
每次查询的第一行包含两个整数 n 和 k(1≤n,k≤5⋅105),分别表示树的顶点数以及需为每个顶点分配的颜色数。
接下来的 n−1 行每行描述树的一条边。第 i 条边由三个整数 ui、vi 和 wi(1≤ui,vi≤n,ui=vi,1≤wi≤105)表示,分别代表该边所连接的两个顶点的编号以及该边的权重。保证所给边构成一棵树。
保证所有查询中 n 的总和不超过 5⋅105。
输出格式
For each query print one integer — the maximum value of a k-coloring of the given tree.
对于每个查询,输出一个整数——给定树的 k-着色的最大值。
输入输出样例
输入#1
2 4 1 1 2 5 3 1 2 3 4 3 7 2 1 2 5 1 3 4 1 4 2 2 5 1 2 6 2 4 7 3
输出#1
8 14
说明/提示
The tree corresponding to the first query in the example:

One of the possible k-colorings in the first example: (1),(1),(2),(2), then the 1-st and the 3-rd edges are saturated and the sum of their weights is 8.
The tree corresponding to the second query in the example:

One of the possible k-colorings in the second example: (1,2),(1,3),(2,4),(5,6),(7,8),(3,4),(5,6), then the 1-st, 2-nd, 5-th and 6-th edges are saturated and the sum of their weights is 14.
示例中第一个查询对应的树:

第一个示例中一种可能的 k-着色方案:(1),(1),(2),(2),此时第 1 条和第 3 条边被饱和,其权重之和为 8。
示例中第二个查询对应的树:

第二个示例中一种可能的 k-着色方案:(1,2),(1,3),(2,4),(5,6),(7,8),(3,4),(5,6),此时第 1、2、5 和 6 条边被饱和,其权重之和为 14。
输入解题思路,AI测评打分。不知道怎么写?