ohh it was straightforward problem. idk what i was thinking.
Ceil of half diameter.
Sure, so for each node assign the weight of itās parent edge to it. And then precompute for the sum of all assigned values of nodes in the path from root to every node. Now for any 2 nodes. We can calculate the answer as ->
a[i]= weight of the edge connecting node i and itās parent
S_i= Set of all nodes in the shortest path from root to i_{th} node
p[i] =\sum_{j \in S_i}a[j]
for any u,v ,
ans_{u,v}=p[u]+p[v]-2*p[lca(u,v)]
yaa , did the same , but didnāt work
Yes, it was well known problem. Thank you
Can you please post your solution. I did the same thing but I still got wrong answer.
I guess you may have got WA due to int as i got he same.Converting weights array to long long worked for me.
anyone know about selection criteria for coding round of last year ?
will the ranklist made public?
orz
Last year it wasnāt made public. I suppose the same trend is going to follow.
Questions were too easy and standard. I solved all in 45 minutes. Still I donāt have hopes of selection. Most probably 600-700 people would have scored full.
Got 415 points, didnāt know about binary lifting or LCA using sparse table.
Was anyone able to do 4th one with Python?
LCA on tree is very basic concept. 4th question is the first problem one encounters when they study LCA concept,in trees,in general.
So I think it was known to most and quite popularā¦
I even had template for it so I just blind submitted as soon as I saw it.
you can do using euler tour and segment trees with dfs also Binary lifting is not the only way!
Can someone make an editorial for the last 3 problems Please!
The last 3 questions are standard one:
- 3rd is just mutisource BFS.
- 4th is finding LCA using Binary lifting. Practice problem
- 5th one is finding the diameter of a tree.
Thanks !
Just store at each node the sum from root assume root as 1 to this node lets say it x.
this can be done easily as only one path exist between root and x. Now you have sum from 1 to x . stored at x
Lets say a query comes to find sum between u and v. lets say the lowest common ancestor better known as LCA of the 2 nodes is x. then answer is sum[u]+sum[v]-sum[x] as see x occurs in both the paths of u and v from root 1.
Finding LCA can be done with Euler tour and segment trees in same time and space complexity !
when will results come?