#P9341. [JOISC 2023 Day4] Security Guard
[JOISC 2023 Day4] Security Guard
题目描述
In JOI Kingdom, there are islands, numbered from to . Each island has the insecurity level. The insecurity level of the island is .
In JOI Kingdom, ships between pairs of islands are mostly used as the methods of transportations. There are ships, numbered from to . The ship connects the island and the island . We can run ships when necessary. It is possible to travel from any island to any other island by taking a number of ships.
In JOI Kingdom, there is a plan to introduce new ships. We can choose any pairs of islands where newly introduced ships connect.
One day, an incident occurred. A ship at anchor was attacked. Prime minister K of JOI Kingdom decided to introduce new ships. He also demands that ships in JOI Kingdom should satisfy the following Security Condition.
- When a ship is anchored at the island , the number of security guards on the ship is greater than or equal to .
However, since it is expensive to hire security guards, we want to minimize the number of hired security guards. As long as the condition “it is possible to travel from any island to any other island by taking a number of ships” is satisfied, it is possible to abolish ships which are currently running.
Therefore, we will run ships as follows. Here, is the number of newly introduced ships.
- For each of the newly introduced ships, we choose two islands where it connects.
- We choose a number of (more than or equal to ) ships, and we abolish them. It is allowed to abolish newly introduced ships.
- For each of the ships, we anchor it at one of the two islands where it connects. We make a number of security guards get on it. Moreover, the following conditions should be satisfied.
Condition For every pair of islands, it is possible to transport a passenger from the island to the island by repeating the following operations a number of times. In the process, Security Condition should be satisfied all the time.
- We make a passenger or security guards get on a ship which is anchored at the island where the passenger or security guards are staying.
- We make a passenger or security guards get off a ship at the island where the ship is currently anchored.
- We move a ship from the island where the ship is currently anchored to the other island where the ship connects.
Since the budget is limited, we can introduce at most new ships. For each , Prime minister K wants to know the minimum possible number of hired security guards if the number of newly introduced ships is . Write a program which, given the information of islands and the routes of the ships and the number of new ships we can introduce, calculates the minimum possible number of hired security guards for each .
输入格式
Read the following data from the standard input.
输出格式
Write lines to the standard output. The -th line of output should contain the minimum possible number of hired security guards if the number of newly introduced ships is .
题目大意
在 JOI 王国中,有 座岛屿,编号从 到 。每座岛屿都有不安全程度 。
在 JOI 王国中,使用船只作为交通工具连接各个岛屿。现有 艘船只,编号从 到 ,第 艘船只连接着岛屿 和 。我们可以在需要时运行这些船只。乘坐几艘船只后,可从任意岛屿抵达其他所有岛屿。
今天,JOI 王国的首相 K 毅然决定引入新的船只,并要求所有船只必须遵守以下安全条件。
当一艘船只停泊在岛屿 时,其上的保安人数大于等于 。
鉴于雇佣保对于每艘船只,将其停泊在与其相连的两座岛屿中的一座上,并在其上安置一定数量的保安人员。此外,还应满足以下条件:安十分昂贵,我们希望最小化雇佣的保安人数。只要满足“通过乘坐若干艘船只可从任意岛屿到达其他任意岛屿”这个条件,就可以废除目前正在运营的一些船只。
我们将按如下方法运营船只。这里, 是要引入的新的船只数。
-
对于这 艘新的船只,选择它们相连接的两座岛屿。
-
我们选取一些(多于或等于 艘,以下称为“废除船只”)船只予以废除。允许废除已经运行的新船只。
-
对于每艘船只,将其停泊在与其相连的两座岛屿中的一座上,并在其上安置一定数量的保安人员。此外,还应满足以下条件:对于所有岛屿对 ,重复下面的操作若干次后可以将一位乘客从岛屿 运送到岛屿 。在整个过程中,必须使当一艘船只停泊在某座岛屿 上时,其上的保安人数大于等于 。
- 在停泊在该岛屿上的船只上载客或保安。
- 在抵达另一座岛屿之前,在停泊在目前所处的船只上卸客或保安。
- 从目前所处的岛屿开往与之相连的另一座岛屿并停泊在那里。
由于预算有限,我们最多可以引入 艘新船。对于每个 ,首相 K 想要知道在引入 艘新船的情况下,满足所有条件时最小可能雇用的保安人数。请编写一个程序,根据岛屿和船只路线的信息以及可以引入的新船数量,计算每个 对应的最小人数。
Translate by
4 3 0
2 1 3 2
1 2
2 3
3 4
7
4 3 1
2 1 3 2
1 2
2 3
3 4
7
5
3 3 0
1 1 1
1 2
1 3
2 3
2
8 7 0
2 2 2 2 2 2 2 2
1 2
2 3
3 4
4 5
5 6
6 7
7 8
14
8 7 0
16 39 36 23 15 48 23 56
1 2
1 3
2 4
2 5
3 6
3 7
7 8
245
10 13 4
314 159 265 358 979 323 846 264 338 327
1 2
1 4
2 3
2 5
3 6
4 5
4 7
5 6
5 8
6 9
7 8
8 9
9 10
3139
2901
2722
2567
2461
提示
【样例解释 #1】
If the number of newly introduced ships is , we need security guards. For example, the conditions are satisfied if we allocate the ships and security guards as follows.
- The ship is initially anchored at the island , and two security guards get on the ship .
- The ship is initially anchored at the island , and two security guards get on the ship .
- The ship is initially anchored at the island , and three security guards get on the ship .
Let us explain how to transport a passenger in the following two cases.
- We transport a passenger from the island to the island .
- We transport a passenger from the island to the island .
We can transport a passenger from the island to the island as follows. The islands where the ships are anchored, and the numbers of security guards on the ships are written in this order. The numbers of security guards on the islands are written in this order.
We can transport a passenger from the island to the island as follows.
Since it is impossible to satisfy the conditions if the number of security guards is less than or equal to , output .
This sample input satisfies the constraints of Subtasks .
【样例解释 #2】
If the number of newly introduced ships is , similarly as Sample Input , we need security guards.
If the number of newly introduced ships is , we need security guards. For example, the conditions are satisfied if we allocate the ships and security guards as follows.
- We introduce a new ship connecting the island and the island . (In the following, we call it the ship .)
- We abolish the ship .
- We initially anchor the ship at the island , and make two security guards get on the ship .
- We initially anchor the ship at the island , and make one security guard get on the ship .
- We initially anchor the ship at the island , and make two security guards get on the ship .
This sample input satisfies the constraints of Subtasks .
【样例解释 #3】
If the number of newly introduced ships is , we need security guards. For example, the conditions are satisfied if we allocate the ships and security guards as follows.
- We abolish the ship .
- We initially anchor the ship at the island , and make one security guard get on the ship .
- We initially anchor the ship at the island , and make one security guard get on the ship .
This sample input satisfies the constraints of Subtasks .
【样例解释 #4】
This sample input satisfies the constraints of all the subtasks.
【样例解释 #5】
This sample input satisfies the constraints of Subtasks .
【样例解释 #6】
This sample input satisfies the constraints of Subtasks .
【数据范围】
对于所有测试数据,满足:
- ;
- ;
- ;
- ;
- ;
- ;
- It is possible to travel from any island to any other island by taking a number of ships;
- Given values are all integers.
子任务编号 | 分值 | 特殊限制 |
---|---|---|
,,,, | ||
,,, | ||
, | ||
无 |