[JOI Open 2020] 发电站 / Power Plant
You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.
题目描述
JOI 发电站有 个基站,从 到 编号。这些基站由 条双向连接的电线相连,第 条电线连接基站 。通过电线我们可以从任意基站出发,到达任意基站。
JOI 发电站的每个基站至多有一个发电机组。每个发电机组都有一个开关。开始时,所有发电机组的开关都是「关闭」状态的。你是 JOI 发电站的负责人。你可以选择一些发电机组,并将这些选择的发电机组的开关调至「打开」状态(允许不选择任何发电机组)。发电机组有如下性质:
- 假设 基站有发电机组。此外,假设我们可以按 到 到 的顺序经过这三个基站,且不经过相同的电线两次。如果 和 基站的发电机组开关都是「打开」状态,那么 基站的发电机组就会损坏。
- 如果开关处于「打开」状态并且发电机组未损坏,这个发电机组就会被激活。
最终,会根据激活的发电机组给你奖励。对于每个激活的发电机组,你会获得 日元。然而,你也要花钱修理损坏的发电机组。对于每个损坏的发电机组,你需要支付 日元。获得的奖励减去修理的花费的总额就是你的利润。
给出当前基站和电线的连接情况以及发电机组的信息,计算你能获得的最大利润。
输入格式
第一行一个整数 ,表示基站个数;
接下来 行,每行两个整数 ;
接下来一行,一个长为 的字符串 ,表示每个基站中是否有发电机组。 中的每个字符都是 或 中的一种。第 个字符描述的是基站 中的发电机组。如果是 ,则表示第 个基站中没有发电机组,如果是 则表示有发电机组。
输出格式
输出一行,表示当你选择一些发电机组,并将所有选择的发电机组开关都调至「打开」状态时,你能获得的最大利润。
6
2 3
4 3
1 3
3 5
6 2
110011
3
8
1 2
3 5
6 4
4 5
5 2
7 2
2 8
11111111
3
16
7 10
5 11
9 4
14 12
2 11
14 16
4 2
1 13
11 3
7 1
15 9
2 1
11 6
14 9
8 9
0111111001001110
5
提示
样例解释 1
在样例输入中,基站 1,2,5,6 中有发电机组。
如果将基站 1,2,5 中的发电机组调至「打开」状态,在基站 1,2,5 中的发电机组将被激活,将会获得 3 日元。因为不需要支付修理费,所以利润就是 3 日元。因为这是你的利润的最大值,所以输出 3。
另一方面,如果将基站 1,5,6 中的发电机组调至「打开」状态,基站 2 中的发电机组将会损坏,基站 1,5,6 中的发电机组将被激活,你会获得 3 日元,并支付 1 日元的修理费,所以利润是 2 日元。
如果将基站 1,2,5,6 中的发电机组调至「打开」状态,基站 2 中的发电机组将会损坏,基站 1,5,6 中的发电机组将被激活,你会获得 3 日元,并支付 1 日元的修理费,所以利润是 2 日元。
数据规模与约定
本题采用捆绑测试。
- Subtask 1(6 pts):;
- Subtask 2(41 pts):;
- Subtask 3(53 pts):无特殊限制。
对于全部数据,,保证:
- ;
- ;
- 可以通过电线从任意基站出发到达任意基站;
- 是一个只包含 和 且长度为 的字符串;
- 中至少包含一个 。
译自 JOI Open 2020 T3 「発電所 / Power Plant」
训练3
- Status
- Done
- Rule
- OI
- Problem
- 4
- Start at
- 2025-11-14 8:00
- End at
- 2025-11-14 12:00
- Duration
- 4 hour(s)
- Host
- Partic.
- 6