|
| 1 | +# [2872.Maximum Number of K-Divisible Components][title] |
| 2 | + |
| 3 | +## Description |
| 4 | +There is an undirected tree with `n` nodes labeled from `0` to `n - 1`. You are given the integer `n` and a 2D integer array `edges` of length `n - 1`, where `edges[i] = [ai, bi]` indicates that there is an edge between nodes `ai` and `bi` in the tree. |
| 5 | + |
| 6 | +You are also given a **0-indexed** integer array `values` of length `n`, where `values[i]` is the **value** associated with the `ith` node, and an integer `k`. |
| 7 | + |
| 8 | +A **valid split** of the tree is obtained by removing any set of edges, possibly empty, from the tree such that the resulting components all have values that are divisible by `k`, where the **value of a connected component** is the sum of the values of its nodes. |
| 9 | + |
| 10 | +Return the **maximum number of components** in any valid split. |
| 11 | + |
| 12 | + |
| 13 | +**Example 1:** |
| 14 | + |
| 15 | +``` |
| 16 | +Input: n = 5, edges = [[0,2],[1,2],[1,3],[2,4]], values = [1,8,1,4,4], k = 6 |
| 17 | +Output: 2 |
| 18 | +Explanation: We remove the edge connecting node 1 with 2. The resulting split is valid because: |
| 19 | +- The value of the component containing nodes 1 and 3 is values[1] + values[3] = 12. |
| 20 | +- The value of the component containing nodes 0, 2, and 4 is values[0] + values[2] + values[4] = 6. |
| 21 | +It can be shown that no other valid split has more than 2 connected components. |
| 22 | +``` |
| 23 | + |
| 24 | +**Example 2:** |
| 25 | + |
| 26 | +``` |
| 27 | +Input: n = 7, edges = [[0,1],[0,2],[1,3],[1,4],[2,5],[2,6]], values = [3,0,6,1,5,2,1], k = 3 |
| 28 | +Output: 3 |
| 29 | +Explanation: We remove the edge connecting node 0 with 2, and the edge connecting node 0 with 1. The resulting split is valid because: |
| 30 | +- The value of the component containing node 0 is values[0] = 3. |
| 31 | +- The value of the component containing nodes 2, 5, and 6 is values[2] + values[5] + values[6] = 9. |
| 32 | +- The value of the component containing nodes 1, 3, and 4 is values[1] + values[3] + values[4] = 6. |
| 33 | +It can be shown that no other valid split has more than 3 connected components. |
| 34 | +``` |
| 35 | + |
| 36 | +## 结语 |
| 37 | + |
| 38 | +如果你同我一样热爱数据结构、算法、LeetCode,可以关注我 GitHub 上的 LeetCode 题解:[awesome-golang-algorithm][me] |
| 39 | + |
| 40 | +[title]: https://leetcode.com/problems/maximum-number-of-k-divisible-components/ |
| 41 | +[me]: https://github.com/kylesliu/awesome-golang-algorithm |
0 commit comments