想明白了以后其实很简单
题解 #
首先,如果ci大于i的子树的大小,那么答案不存在。
对于每个节点,我们建立一个数组,这个数组包含这个节点所有子树的节点,按照ai的大小排序(虽然我们现在还不知道ai的具体数值,我们只关心相对大小关系)。下一个问题就是如何组合子节点的数组,答案其实很简单:直接拼起来就可以了,因为每个子树是互相独立的。最后一步就是把当前的节点放进去,因为ci是已知的所以数组的第ci个数应该是i.
现在我们有了包含所有节点的数组order,我们把1,2,3,… 赋给 order1,order2,order3,…就行了。
Code #