题库/S0157

#S0157. 研发基地

    传统题 难度: 省选 标签>CSP-SCSP-S 2026答案二分与单调判定单调队列与窗口极值无向图连通分量
时间限制3000 ms
内存限制256 MiB
通过率33.3%1 / 3 次提交
题目描述 查看题解 开始编程Alt+E

S0157 · 研发基地

退出在线编程模式
省选 读懂题意,让每一次思考成为成长。
时间限制3000 ms
内存限制256 MiB
通过率33.3%1 / 3 次提交

题目描述

小 W 曾是一名科研爱好者。在 C 国工作时,他担任测试员,日复一日地测试各种新型传送门,在城市之间来回穿梭。久而久之,他厌倦了这样的生活,于是辞去工作,来到没有任何传送门的 D 国,希望在这里重新找回对研发的热爱。

在开始研发之前,小 W 需要建造研发基地。D 国共有 nn 座城市,编号为 11 到 nn。这 nn 座城市由 n−1n-1 条道路连接,其中第 i (1≤i≤n−1)i\ (1\le i\le n-1) 条道路连接第 uiu_i 座和第 viv_i 座城市。若将每座城市视作一个点,将每条道路视作连接两个点的边,则这 nn 座城市和 n−1n-1 条道路构成一棵树 TT。

小 W 的经费有限,他计划选择恰好 kk 座城市,在每座选中的城市里各建造一个研发基地。为了便于这些基地之间的协作,小 W 希望选中的城市在 TT 中对应的点形成不超过两个连通块。形式化地,定义建造方案 S⊆{1,2,…,n}S\subseteq\{1,2,\ldots,n\} 是合理的,当且仅当 ∣S∣=k|S|=k,且 SS 在 TT 中形成的连通块数量不超过 22。

对于合理的建造方案 SS,定义第 i (1≤i≤n)i\ (1\le i\le n) 座城市的通勤距离为 d(i)=min⁡j∈Sdist⁡(i,j)d(i)=\min_{j\in S}\operatorname{dist}(i,j),其中 dist⁡(i,j)\operatorname{dist}(i,j) 表示从第 ii 座城市到第 jj 座城市所需经过的道路的最少条数。特别地,若 i∈Si\in S,则 d(i)=0d(i)=0。定义该建造方案的通勤半径为所有城市通勤距离的最大值,即 max⁡i=1nd(i)\max_{i=1}^{n}d(i)。

你需要帮助小 W 求出,所有合理的建造方案的通勤半径的最小值。

输入格式

从标准输入读入数据。

本题包含多组测试数据。

输入的第一行包含两个非负整数 c,tc,t,分别表示测试点编号与测试数据组数。特别地,若 c=0c=0,则该测试点为样例。

接下来依次输入 tt 组测试数据。对于每组测试数据:

  • 第一行包含两个正整数 n,kn,k,分别表示城市数量和小 W 计划建造的研发基地数量。
  • 第 i+1 (1≤i≤n−1)i+1\ (1\le i\le n-1) 行包含两个正整数 ui,viu_i,v_i,分别表示第 ii 条道路连接的两座城市的编号。

输出格式

输出到标准输出。

对于每组测试数据,输出一行一个非负整数,表示所有合理的建造方案的通勤半径的最小值。

样例 1

0 2
5 2
1 2
2 3
3 4
4 5
10 3
1 2
1 3
2 4
2 5
3 6
3 7
3 8
7 9
9 10
1
2

样例 2(补充训练样例)

0 1
2 2
1 2
0

提示与数据范围

样例 1 解释

该样例共包含两组测试数据。

对于第一组测试数据,共有 1010 种合理的建造方案。按通勤半径分类如下:

  • 通勤半径为 11 的方案:S={1,4}S=\{1,4\},S={2,4}S=\{2,4\},S={2,5}S=\{2,5\};
  • 通勤半径为 22 的方案:S={1,3}S=\{1,3\},S={1,5}S=\{1,5\},S={2,3}S=\{2,3\},S={3,4}S=\{3,4\},S={3,5}S=\{3,5\};
  • 通勤半径为 33 的方案:S={1,2}S=\{1,2\},S={4,5}S=\{4,5\}。

因此,所有合理的建造方案的通勤半径的最小值为 11。

对于第二组测试数据,一种合理的建造方案为 S={2,7,9}S=\{2,7,9\},其中第 22 座城市单独构成一个连通块,第 77 座和第 99 座城市构成一个连通块。该建造方案的通勤半径为 22。

数据范围

设 NN 为单个测试点内所有测试数据的 nn 的和。对于所有测试数据,均有:

  • 0≤c≤200\le c\le 20,1≤t≤51\le t\le 5;
  • 2≤n≤1062\le n\le 10^6,N≤2×106N\le 2\times 10^6,2≤k≤n2\le k\le n;
  • 对于所有 i (1≤i≤n−1)i\ (1\le i\le n-1),均有 1≤ui,vi≤n1\le u_i,v_i\le n,且所有 (ui,vi)(u_i,v_i) 构成一棵树。
测试点编号 n≤n\le N≤N\le k≤k\le 特殊性质
11 55 1515 55 无
2,32,3 1010 3030 1010
4∼64\sim 6 100100 300300 100100
77 10001000 30003000 22
88 10001000
9,109,10 40004000 10410^4 40004000
11,1211,12 10510^5 3×1053\times 10^5 22
13,1413,14 10510^5 A
1515 5×1055\times 10^5 10610^6 1010 无
16,1716,17 5×1055\times 10^5
18∼2018\sim 20 10610^6 2×1062\times 10^6 10610^6

特殊性质 A:存在正整数 mm 满足 n=2m+1n=2m+1,且对于所有 i (1≤i≤m)i\ (1\le i\le m),均有 ui=iu_i=i 且 vi=i+1v_i=i+1;对于所有 i (m+1≤i≤n−1)i\ (m+1\le i\le n-1),均有 ui=i−mu_i=i-m 且 vi=i+1v_i=i+1。

来源说明

CSP-S 2026 第二轮第4题。题面据洛谷 P17834 民间数据自测整理,来源:CSP-S 2026 自测。本地采用标准输入输出与256MB内存限制,每题20个自建训练测试点、每点5分。测试数据非CCF官方数据,不复现原赛测试点评分;原选手目录外部大样例未随本包提供。