A45678.散落の字符
提高+/省选-
通过率:0%
时间限制:1.00s
内存限制:128MB
题目描述
FM 正在和 MW 玩一个似乎不怎么有趣的大型游戏。
游戏规则是这样的:FM 有一个大小为 N×M 的迷宫,特殊的,这个迷宫里全部都是数字,表示经过这一格的花费。FM 要求 MW 在迷宫中选取一条线路从 (1,1) 到 (N,M),但是这条线路必须是通过这个迷宫总花费最小的方法。等到达迷宫的 (N,M) 格时,记该迷宫的花费为 10mina。某条线路的总花费是指它经过格子上花费的总和。
接下来是第二轮游戏:FM 找到之前出数据时的字符串 s,t(这是两串没有规律的数据,且 s 均为小写字母, t 为任意小于 10 的正整数,当 t 介于 1 和 9 之间时看作 1),将上一个游戏的结果 10mina 一个数字一个数字地划开,以 1 表示 a
,2 表示 b
,3 表示 c
,……,9 表示 i
的方式补充字母到字符串 s 之后。特别地,当划分时遇到的数字的结果是 0 时,将当前字符串 s 的最后一个字母复制一份到字符串 s 的末尾处。然后将里边的字母变为其 ASCII 码值对 2 取模,并为其赋权 wi,最后在 t 的末尾加上 s(这一步仅改变 t,不改变 s)。
在 s 的构建完成后,到了 MW 的部分:你需要先得出 t 中的最长回文串长度 l,然后对 s 进行若干次反转操作(0 变 1 或者 1 变 0),反转第 i 位需要花费 wi 的代价。请你使用最小代价 f 把 s 变成一个偶回文串,请输出最小总代价 f 与 l 的和。
输入格式
输入共 N+4 行:
第一行两个正整数 N 和 M,表示迷宫的大小;
接下来 N 行每行 M 个正整数,表示经过该格的花费 ai,j;
然后两个字符串 s,t,最后 1 行 ∣s∣+⌊mina⌋+1 个整数表示 si 的权重 wi。
输出格式
输出共 1 行:
输出一个正整数表示 MW 第二轮游戏的结果。
输入输出样例
输入#1
3 3 1 4 7 2 9 15 4 7 2 afafafaf 01 1 1 1 1 1 1 1 1 1 1
输出#1
14
说明/提示
下面记字符串 s 和 t 的长度为 |s| 和 |t|。
对于所有的数据,保证:
1≤N,M≤15
1≤ai,j,wi≤109,1≤∣s∣,∣t∣≤2×105
2 ∣ (∣s∣+⌊mina⌋+1)
字符串 s 中均为小写字母,数据保证可以把 s 变成偶回文串。
测试点 | |s| , |t| ≤ |
---|---|
1,2 | 50 |
3,4,5 | 103 |
6~20 | 2×105 |
本题测试点等分。
【样例解释】
样例组 #1:有一个大小为 3×3 的迷宫,通过这个迷宫的最小花费方式是 (1,1)→(2,1)→(3,1)→(3,2)→(3,3)(先行后列),花费 10mina 为 16。将 16 一位一位地分解成字母为 af
,拼接在原来的字符串 s 后为:afafafafaf
,变换数字后为 1010101010
。通过枚举可得最小总代价为 5(一种方式是改变后边的五位使原字符串变为1010110101
,本身为偶回文串),然后此时 t 为 011010101010
,最长回文串长度为 9(101010101
),9+5=14,输出 14。