[关闭]
@yang12138 2018-07-15T05:32:08.000000Z 字数 367 阅读 938

Educational Codeforces Round 47 F

未分类


题目:
给定一个有根树,对每个节点,求其宽度及其对应的深度,宽度一样时要求深度最小.
宽度的定义是对同一个深度的最多的子节点的个数.

题解:
考虑启发式合并,对每个节点维护一个数据结构,表示以为根节点的子树,深度为的节点的个数,显然启发式合并可做,对于每个节点,处理各个子树之后,把小子树暴力合并到最大的子树中,需要维护以下的操作:
1.在前面添加一个元素,值是.
2.顺序访问的全部元素,并修改.
3.对进行操作,并且只增不减.
中的库可以完美支持以上操作.
时间复杂度为.

:http://codeforces.com/contest/1009/submission/40365078

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注