prodipdatta7's blog

By prodipdatta7, history, 7 years ago, In English

Given a graph of n nodes and m edges. The number of nodes and edges can have at most 100000. After adding each edge to the graph, you have to calculate the Minimum Spanning Tree of the current graph.

it is not any OJ problem. The problem idea has come to my mind but I can't figure out any solution except brute force. Is it possible to write a solution that will pass within 2s? I will be thankful to u if u share any idea related to the problem solution...

  • Vote: I like it
  • -4
  • Vote: I do not like it

»
7 years ago, # |
  Vote: I like it +6 Vote: I do not like it

2 ms? No way.

»
7 years ago, # |
  Vote: I like it 0 Vote: I do not like it

Auto comment: topic has been updated by prodipdatta7 (previous revision, new revision, compare).

»
7 years ago, # |
  Vote: I like it 0 Vote: I do not like it

What do you mean calculate the MST? Like finding the sum of the MST edges?

»
7 years ago, # |
  Vote: I like it +9 Vote: I do not like it

Use Link-cut trees, augmented with the operation of finding the maximum weight edge on any path. When a new edge u - v arrives, if it connects two nodes in different connected components just add the edge. Otherwise, find the maximum weight edge on the u - v path in the tree T containing u, v, compare that edge with u - v and if it has greater weight remove it and add u - v, otherwise, do nothing.