#P11225. [COTS 2019] 疏散 Sklonište

    ID: 12593 远端评测题 4000ms 500MiB 尝试: 0 已通过: 0 显示难度省选/NOI− 上传者: 标签>2019网络流二分图COCI(克罗地亚)

[COTS 2019] 疏散 Sklonište

背景

译自 Izborne Pripreme 2019 (Croatian IOI/CEOI Team Selection) D2T2。4s,0.5G\texttt{4s,0.5G}。

题目描述

给定 NN 个点 MM 条边的无向连通图,边有边权。有 KK 个关键点 A1,A2,⋯ ,AKA_1,A_2,\cdots,A_K,容量为 S1,S2,⋯ ,SKS_1,S_2,\cdots,S_K。

图中的居民要疏散。也就是说,你需要构造一个序列 B1,B2,⋯ ,BNB_1,B_2,\cdots,B_N,使得:

  • ∀1≤i≤N\forall 1\le i\le N,1≤Bi≤K1\le B_i\le K;
  • 对于 1≤i≤K1\le i\le K,定义 $\displaystyle \mathrm{cnt}_i=\sum_{1\le j\le N} [B_j=i]$,也就是 ii 在 BB 序列中出现的次数。则 cnti≤Si\mathrm{cnt}_i\le S_i。

定义序列 BB 的疏散时间为 $\displaystyle \max_{1\le i\le N} \operatorname{dist}(i,A_{B_i})$,其中 dist⁡(u,v)\operatorname{dist}(u,v) 指图中 u,vu,v 间最短路的长度。

求出疏散时间的最小值。保证 ∑iSi≥N\sum_i S_i\ge N。

输入格式

第一行,三个正整数 N,M,KN,M,K;

接下来 MM 行,每行三个正整数 u,v,wu,v,w,描述一条无向边 (u,v)(u,v),边权为 ww。保证 u≠vu\neq v。

接下来 KK 行,每行两个正整数描述 Ai,SiA_i,S_i。

保证 ∑iSi≥N\sum_i S_i\ge N。

输出格式

输出一行一个数,表示答案。

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

提示

对于 100%100\% 的数据,保证:

  • 1≤N≤1051\le N\le 10^5;
  • N−1≤M≤3×105N-1\le M\le 3\times 10^5;
  • 1≤K≤171\le K\le 17;
  • 给定图连通,无自环;
  • 1≤w,Si≤1091\le w,S_i\le 10^9;
  • 1≤u,v,Ai≤N1\le u,v,A_i\le N;
  • SiS_i 两两不同;
  • ∑iSi≥N\sum_i S_i\ge N。
子任务编号 N≤N\le M≤M\le K≤K\le 得分
1 1 100 100 500 500 55 3030
2 2 105 10^5 3×105 3\times 10^5 1010
3 3 1717 4040