Delegation
提交数: 1, 通过率: 0%, 平均分: 0
题目描述:
Farmer John 的农场由 N 块草地(1≤N≤105)和 N−1 条道路组成,满足每块草地都能从任意其他草地到达。也就是说,这个农场组成一棵树。但在与不可避免地由树而生的麻烦的算法问题打了 28 年交道之后,FJ 终于认为树形的农场太复杂了。他相信在链上的算法问题更简单。
所以,他的计划是将这些道路划分成若干条链,并将每条链交给一名值得信任的农场工人负责。为了避免争执,他希望每条链的长度相同。他想知道对于哪些长度存在这样的划分。
更具体地,对于每个 1≤K≤N−1,帮助 Farmer John 求出这些道路是否能被划分为长度恰好为 K 的链。
测试点性质:
- 在测试点 2-4 中树组成了一个 “星形”;至多一个结点的度大于二。
- 测试点 5-8 满足 N≤103。
- 测试点 9-15 没有额外限制。
输入格式:
第一行包含一个整数 N。
以下 N−1 行每行包含两个空格分隔的整数 a 和 b,表示结点 a 与 b 之间有一条边。a 和 b 均在范围 1…N 内。
输出格式:
输出一个长为 N−1 的二进制字符串。对于每一个 1≤K≤N−1,如果可以将树的边划分为长度恰好为 K 的链,则字符串从左往右数第 K 位为 1,否则为 0。
样例输入:
13 1 2 2 3 2 4 4 5 2 6 6 7 6 8 8 9 9 10 8 11 11 12 12 13
样例输出:
111000000000
提示:
对于 K=1,2,3,有可能将树划分为长为 K 的链。对于 K=3,一种可能的划分方式如下:
13−12−11−8,10−9−8−6,7−6−2−3,5−4−2−1
空间限制: 256MB
来源: USACO 2020 FEB Gold