AT_arc177_f.[ARC177F] Two Airlines
NOI/NOI+/CTSC
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
在 AtCoder 国,有一排共 L+1 个岛屿,从西至东依次编号为 0 到 L。这些岛通过航空线路连接,每条连接线双向可通。对于每个 1≤i≤L,岛屿 i−1 和岛屿 i 由一条线路连接。每一条航空路线都由 A 公司或 J 公司运营,具体来说,连接岛屿 i−1 和岛屿 i 的线路属于 Si 公司。

这个国家有 N 位居民,他们被编号为 1 到 N。每位居民目前分别位于岛屿 Xi 上。
每位居民都持有一张某个公司的优惠券。具体来说,居民 i 拿着的是 Ci 公司的优惠券。他们可以免费搭乘优惠券对应公司的航班任意次,而搭乘其他公司航班时,每次需要支付 1 枚硬币。
我们的目标是把位于岛屿 0 的宝藏运送到首都岛屿 L。为了实现这一目标,请计算最少需要支付多少枚硬币。
请注意,宝藏可以在居民之间转交,但优惠券不允许转让。
输入格式
输入通过以下格式标准输入:
L N
S1S2⋯SL
X1 C1
X2 C2
⋮
XN CN
注意第 2 行是一个长度为 L 的字符串。
输出格式
输出为一个整数表示所需的最少硬币数量。
输入输出样例
输入#1
4 3 AAJJ 3 A 1 J 1 J
输出#1
2
输入#2
8 3 JJAAJJAJ 2 A 6 A 8 J
输出#2
6
输入#3
8 6 JJAAJJAJ 2 A 6 A 8 J 8 J 8 J 8 J
输出#3
4
说明/提示
条件限制
- 1≤L≤6×104
- 1≤N≤6×104
- Si (1≤i≤L) 是
A或J - 0≤Xi≤L (1≤i≤N)
- Ci (1≤i≤N) 是
A或J - L,N,Xi 是整数
示例解释
下面的操作可使宝藏被运送到岛屿 4,总共只需花费 2 枚硬币:
- 居民 1 从岛 3 移到岛 2。因为不是优惠券适用的公司航班,所以花费 1 枚硬币。
- 居民 1 从岛 2 到岛 1,在这个过程中无需支付,因为这是他拥有优惠券的公司路线。
- 居民 1 从岛 1 到岛 0,免费,因为使用的是优惠券航班。
- 居民 1 拿起宝藏。
- 居民 1 带着宝藏,从岛 0 移动到岛 1,依旧免费。
- 居民 1 把宝藏交给居民 2。
- 居民 2 带着宝藏,从岛 1 到岛 2,这条航线不适用他的优惠券,花费 1 枚硬币。
- 居民 2 继续从岛 2 到岛 3,免费,因为使用了他公司的航班。
- 最后,居民 2 从岛 3 到岛 4,依旧免费。

本翻译由 AI 自动生成
输入解题思路,AI测评打分。不知道怎么写?