#P10855. [POI2021 R3]Rzeki
[POI2021 R3]Rzeki
题目描述
题目译自 XXIX Olimpiada Informatyczna – III etap Rzeki
等到最后一条河被污染,等到最后一棵树被砍掉,等到最后一条鱼被捕捉,然后我们才明白,原来钞票是不能吃的。——印第安谚语
在字节王国,有 条河流从南向北沿着直线 流动,还有 条河流从西向东沿着直线 流动。每两条河流的交点处都有一座城市。每座城市中,一条河流通过隧道流过,不与另一条混合。过去,每座城市都从其所在的河流取水。然而如今,一些河流污染严重,已无法净化水质,城市不得不从其他河流运水。运水成本等于城市到河流直线的距离。运水使用的是沿河流分布的双向公路,重卡可以通行(河流流向不影响运水)。
遗憾的是,字节王国的预算有限,可能无法为所有城市供水。更复杂的是,有些河流会被净化,有些又会重新污染。
请你编写一个程序,读取河流的当前状态,并支持两种操作:更改河流状态,以及回答在给定预算下最多能为多少城市供水。
输入格式
输入的第一行包含三个整数 ,分别表示南北向河流数、东西向河流数和操作次数。
第二行是一个长度为 的字符串,由 +
和 -
组成;第 个字符表示第 条南北向河流的状态:+
表示干净,-
表示污染。第三行是一个长度为 的字符串,以相同格式描述东西向河流的初始状态。
接下来的 行描述操作,每行格式为以下之一:
- :询问在预算 下,最多能为多少城市供水;
- :第 条南北向河流状态改变(干净变为污染,或污染变为干净);
- :第 条东西向河流状态改变。
输出格式
对于每个 类型的询问,输出一行一个整数,表示在给定预算下最多能供水的城市数量。
3 4 11
--+
+++-
Z 1
M 1
M 2
M 3
Z 7
N 3
Z 1000000000000000000
M 2
N 2
Z 4
Z 1000000000000000000
11
9
0
10
12
样例 2
见附加文件下 [rze1ocen.in
](file:rze1ocen.in) 和 [rze1ocen.out
](file:rze1ocen.out)。
该样例满足 ,仅第 条南北向和东西向河流干净,询问预算 ;
样例 3
见附加文件下 [rze2ocen.in
](file:rze2ocen.in) 和 [rze2ocen.out
](file:rze2ocen.out)。
该样例满足 ,每次询问时恰有一条干净河流(对 ,先净化第 条河流,询问成本 ,再污染第 条河流)。
数据范围与提示
详细子任务附加限制及分值如下表所示。
子任务编号 | 附加限制 | 分值 |
---|---|---|
每条东西向河流始终污染 | ||
询问预算总和不超过 | ||
无附加限制 |