#lg7565. [JOISC 2021] ビーバーの会合 2 (Day3)聚会 2

[JOISC 2021] ビーバーの会合 2 (Day3)聚会 2

[AdditionalFile3495.zip](file://AdditionalFile3495.zip?type=additional_file)

#3495. 「JOISC 2021 Day3」聚会 2

标签: 传统 | 时间限制: 4000 ms | 内存限制: 256 MiB |

题目描述

题目译自 JOISC 2021 Day3 T3「ビーバーの会合 2 / Meetings 2

河狸们居住在 NN 个岛上。这些岛从 11NN 编号,并通过 N1N-1 座双向连接的桥连通。这些桥的编号为 11N1N-1。桥 ii 连接岛 AiA_iBiB_i。通过桥可以在任意岛之间穿梭。每个岛上有一只河狸定居。

有时,在某些岛上居住的河狸们要聚集到一个岛上开会。当一场会议的出席者确定了之后,满足以下条件的一个岛就被选为开会地址:

  • 参会者为了到达这个岛开会所需要经过桥的数量的总和是最小的。

这里,当会议的出席者确定时,每位出席者都会经过最少数量的桥前往开会所在岛。

会议出席者都希望会议的候选岛很多。当一场会议的出席者确定时,这场会议的期待值等于满足以上条件的岛的个数。对于每个从 11NN 的整数 jj(包括两端),你想知道当有 jj 位河狸参会时,这场会议的最大期待值是多少。

给定这些岛的信息,写一个程序计算对每一个参会河狸数,这场会议的最大期待值是多少。

输入格式

从标准输入读入以下内容。

第一行一个整数 NN

接下来 N1N-1 行,每行两个整数 Ai,BiA_i,B_i,用一个空格隔开。

输出格式

输出 NN 行到标准输出。第 j (1jN)j\ (1\le j\le N) 行输出当参会者有 jj 位时,最大的期待值是多少。

样例 1

输入

5
1 2
2 3
4 2
3 5

输出

1
4
1
2
1

例如,我们考虑居住在岛 11 和岛 33 的河狸参加的会议。对于每一个岛,他们要经过的桥的数量之和按如下方法计算。

  • 如果他们在岛 11 聚集,住在岛 11 的河狸不需要过桥,住在岛 33 的河狸需要经过 22 座桥,总和为 22
  • 如果他们在岛 22 聚集,他们经过桥的数量总和为 22
  • 如果他们在岛 33 聚集,他们经过桥的数量总和为 22
  • 如果他们在岛 44 聚集,他们经过桥的数量总和为 44
  • 如果他们在岛 55 聚集,他们经过桥的数量总和为 44

所以候选岛为岛 1,2,31,2,3。因此,这次会议的期待值为 33

样例 2

输入

7
1 2
2 3
3 4
4 5
2 6
3 7

输出

1
5
1
3
1
2
1

数据范围与提示

对于所有数据,保证:

  • 1N2×1051\le N\le 2\times 10^5
  • 1Ai,BiN (1iN1)1\le A_i,B_i\le N\ (1\le i\le N-1)
  • AiBi (1iN1)A_i\neq B_i\ (1\le i\le N-1)
  • 保证可以通过桥从一个岛前往任意一个岛

详细子任务附加条件及分值如下表:

子任务编号 附加条件 分值
11 N16N\le 16 44
22 N4 000N\le 4\ 000 1616
33 无附加限制 8080

P7565 [JOISC 2021] ビーバーの会合 2 (Day3)

题目描述

给定一棵有 NN 个点的树,每一个点上有一个人,这些人要开秘密会议。

假设一次秘密会议有 PP 个人参加,这 PP 个人分别在第 p1,p2,,pPp_1,p_2,\cdots,p_P 个点上。如果点 kk 满足下面这个值最小(d(a,b)d(a,b) 为点 aa 到点 bb 的距离,kk 不需要满足 k{p1,p2,,pP}k \in \{p_1,p_2,\cdots,p_P\}):

i=1Pd(k,pi)\sum\limits_{i=1}^Pd(k,p_i)

那么就称第 kk 个点为可期待的,这场会议的期待值即为所有点中中可期待点的个数。

对于每个 j[1,N]j \in [1,N],求当会议里有 jj 个人的时候,会议的期待值的最大值是多少。

输入格式

第一行一个整数 NN 代表树的点数。

接下来 N1N-1 行每行两个整数 Ai,BiA_i,B_i 代表一条边。

输出格式

NN 行每行一个整数,第 jj 行代表会议有 jj 个人时的答案。

输入输出样例 #1

输入 #1

5
1 2
2 3
4 2
3 5

输出 #1

1
4
1
2
1

输入输出样例 #2

输入 #2

7
1 2
2 3
3 4
4 5
2 6
3 7

输出 #2

1
5
1
3
1
2
1

说明/提示

样例 1 解释

下文我们称 βk=i=1Pd(k,pi)\displaystyle\beta_k=\sum\limits_{i=1}^Pd(k,p_i)

拿样例 1 中的树举个例子,假设这一次会议参加者为第 11 个点上的人和第 33 个点上的人,则:

  • P=2P=2pi={1,3}p_i=\{1,3\}
  • β1=2\beta_1=2
  • β2=2\beta_2=2
  • β3=2\beta_3=2
  • β4=4\beta_4=4
  • β5=4\beta_5=4

mini=15{βi}=2\min\limits_{i=1}^5\{\beta_i\}=2,满足要求的点为 1,2,31,2,3,该会议的期待值为 33

数据规模与约定

本题采用捆绑测试。

  • Subtask 1(4 pts):N16N \le 16
  • Subtask 2(16 pts):N4000N \le 4000
  • Subtask 3(80 pts):无特殊限制。

对于 100%100\% 的数据,1N2×1051 \le N \le 2 \times 10^51Ai,BiN1 \le A_i,B_i \le N

说明

翻译自 第20回日本情報オリンピック 春季トレーニング合宿 Day3 C ビーバーの会合 2 (Meetings 2) 的英文版本