Editorial for DMOPC '21 Contest 1 P4 - Uneven Forest
Submitting an official solution before solving the problem yourself is a bannable offence.
Author:
We first consider a binary search on the resulting unevenness. To check whether it is possible to have an unevenness of , let's run a DP on every tree in the forest, rooting each tree arbitrarily. Let 
 be the minimum cost such that the longest path down from node 
 has a length of 
. Also, we have an array 
, which stores the minimum cost to let the subtree rooted at 
 be valid. For a child 
 of node 
 we have two transitions; we can cut the edge 
 or keep it. Let 
 and 
 be the length and beauty of edge 
 respectively. If we cut the edge, then we simply let 
. If we keep it, then we need to merge it with our current DP, so 
, taking care that 
 does not exceed 
.
At first, it seems like the complexity of our DP is horrid. After all, the size of the second dimension can be insanely large, and the second transition could square that large number. However, note that each node  has at most 
 different values of 
, where 
 is the number of nodes in the subtree of 
. Therefore, the amortized complexity of our algorithm is actually 
, using the same proof for the time complexity of tree convolutions!
We can implement the DP using a map for each node, for a total complexity of  with a moderate constant factor.
Comments
What is the definition of a "tree convolution"? A Google search only brings up tree-based convolutional neural networks.
Discrete convolution is defined as
.
Based on my understanding, the "tree convolution" in editorial is
, where 
 is 
's parent node. The operation is the similar form of convolution.
bruce is so chad
I found this, haven't entirely read through it myself but it looks pretty comprehensive and defines "tree convolution DP" as "a particular kind of DP solution that occurs on rooted trees. It is a DP solution which naively looks like it runs in
 but in fact runs int 
." 4fecta also sent me this codeforces blog which you might find useful as well.