Number of Ways to Assign Edge Weights II
Solution
class Solution:
def assignEdgeWeights(self, edges: List[List[int]], queries: List[List[int]]) -> List[int]:
lca = LCA(edges)
MOD = 10**9 + 7
ans = []
# Precompute powers of 2 for speed
powers = [1] * (lca.n + 1)
for i in range(1, lca.n + 1):
powers[i] = (powers[i-1] * 2) % MODTime Complexity
O(n log n + m log n)
Space Complexity
O(n log n)

