#4521. Rotate and Palindrome

0
    ID: 4521 传统题 2000ms 1024MiB 尝试: 0 已通过: 0 难度: 2 上传者: 标签>AtCoderabc286CGESP 3级字符串枚举(单层循环)模拟

Rotate and Palindrome

Rotate and Palindrome

题目描述

给你一个长度为 NN 的字符串 SS。令 Si (1≤i≤N)S_i\ (1\leq i \leq N) 为从左数第 ii 个字符。 你可以按任意顺序零次或多次执行下述两种操作:

支付 A 日元(日本的货币单位)。将字符串 SS 的最左侧字符移动到最右端。换言之,将 S1S2…SNS_1S_2\ldots S_N 变为 S2…SNS1S_2\ldots S_NS_1。

支付 B 日元。选择一个介于 11 到 NN 之间的整数 ii,并将 SiS_i 替换为任意小写英文字母。

要把 SS 变成回文串,最少需要支付多少日元?

什么是回文串? 字符串 $T$ 当且仅当对于所有整数 $i$($1 \le i \le |T|$,其中 $|T|$ 是其长度),从左数第 $i$ 个字符与从右数第 $i$ 个字符相同时,$T$ 是回文串。

输入格式

输入从标准输入给出,格式如下: NN AA BB SS

输出格式

输出答案,形式为一个整数。

5 1 2
rrefa
3
8 1000000000 1000000000
bcdfcgaa
4000000000

提示

1≤N≤50001\leq N \leq 5000 1≤A,B≤1091\leq A,B\leq 10^9 SS 是一个由小写英文字母组成的长度为 NN 的字符串。 输入中除 SS 之外的所有值都是整数。首先,支付 22 日元 执行一次第二类操作:令 i=5i=5 将 S5S_5 替换为 ee。此时 SS 变为 rreferrefe。 然后,支付 11 日元 执行一次第一类操作。此时 SS 变为 referrefer,这是一个回文串。 因此,可以用 33 日元 将 SS 变为回文串。由于不能用不超过 22 日元 将 SS 变为回文串,答案为 33。
注意答案可能无法装入 32 位整数类型。

标签: AtCoder|abc286C

来源

AtCoder|abc286C