Codeforces Round #611 (Div. 3) F. DIY Garland
题目链接
大意:给你一个序列,让你构造一颗合法的有根树,满足:
序列的第ithi_{th}ith数代表的是第ithi_{th}ith大的边的父亲节点,边的价值定义为:子树内所有节点编号的2的幂次方和。
思路:直接逆向拓扑排序,开一个优先队列,把入度为0的先进队,倒着扫,把最小的和当前点连边即可。
细节见代码:
#include <bits/stdc++.h>
using names...
原创
2020-01-01 16:08:15 ·
362 阅读 ·
0 评论