A45678.散落の字符

提高+/省选-

通过率:0%

时间限制:1.00s

内存限制:128MB

题目描述

FM 正在和 MW 玩一个似乎不怎么有趣的大型游戏。

游戏规则是这样的:FM 有一个大小为 N×MN\times M 的迷宫,特殊的,这个迷宫里全部都是数字,表示经过这一格的花费。FM 要求 MW 在迷宫中选取一条线路从 (1,1)(1,1) 到 (N,M)(N,M),但是这条线路必须是通过这个迷宫总花费最小的方法。等到达迷宫的 (N,M)(N,M) 格时,记该迷宫的花费为 10min⁡a10^{\min_a}。某条线路的总花费是指它经过格子上花费的总和。

接下来是第二轮游戏:FM 找到之前出数据时的字符串 s,ts,t(这是两串没有规律的数据,且 ss 均为小写字母, tt 为任意小于 1010 的正整数,当 tt 介于 11 和 99 之间时看作 11),将上一个游戏的结果 10min⁡a10^{\min_a} 一个数字一个数字地划开,以 11 表示 a,22 表示 b,33 表示 c,……,99 表示 i 的方式补充字母到字符串 ss 之后。特别地,当划分时遇到的数字的结果是 00 时,将当前字符串 ss 的最后一个字母复制一份到字符串 ss 的末尾处。然后将里边的字母变为其 ASCII 码值对 22 取模,并为其赋权 wiw_i,最后在 tt 的末尾加上 ss(这一步仅改变 tt,不改变 ss)。

在 ss 的构建完成后,到了 MW 的部分:你需要先得出 tt 中的最长回文串长度 ll,然后对 ss 进行若干次反转操作(00 变 11 或者 11 变 00),反转第 ii 位需要花费 wiw_i 的代价。请你使用最小代价 ff 把 ss 变成一个偶回文串,请输出最小总代价 ff 与 ll 的和。

输入格式

输入共 N+4N+4 行:

第一行两个正整数 NN 和 MM,表示迷宫的大小;

接下来 NN 行每行 MM 个正整数,表示经过该格的花费 ai,ja_{i,j};

然后两个字符串 s,ts,t,最后 11 行 ∣s∣+⌊min⁡a⌋+1|s|+\lfloor \min_a \rfloor + 1 个整数表示 sis_i 的权重 wiw_i。

输出格式

输出共 11 行:

输出一个正整数表示 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

说明/提示

下面记字符串 ss 和 tt 的长度为 |ss| 和 |tt|。

对于所有的数据,保证:

1≤N,M≤151\le N,M\le15
1≤ai,j,wi≤1091\le a_{i,j},w_i\le10^9,1≤∣s∣,∣t∣≤2×1051\le|s|,|t|\le2 \times 10^5
2 ∣ (∣2\ |\ (|s∣+⌊min⁡a⌋+1)|+\lfloor \min_a \rfloor + 1)

字符串 ss 中均为小写字母,数据保证可以把 ss 变成偶回文串。

测试点 |ss| , |tt| ≤\le
1,2 5050
3,4,5 10310^3
6~20 2×1052 \times 10^5

本题测试点等分。

【样例解释】

样例组 #1:有一个大小为 3×33\times3 的迷宫,通过这个迷宫的最小花费方式是 (1,1)→(2,1)→(3,1)→(3,2)→(3,3)(1,1)\to(2,1)\to(3,1)\to(3,2)\to(3,3)(先行后列),花费 10min⁡a10^{\min_a} 为 1616。将 1616 一位一位地分解成字母为 af,拼接在原来的字符串 ss 后为:afafafafaf,变换数字后为 1010101010。通过枚举可得最小总代价为 55(一种方式是改变后边的五位使原字符串变为1010110101,本身为偶回文串),然后此时 tt 为 011010101010,最长回文串长度为 99(101010101),9+5=149 + 5 = 14,输出 1414。

输入解题思路,AI测评打分。不知道怎么写?

首页