QOJ.ac

QOJ

Time Limit: 2 s Memory Limit: 256 MB Total points: 100

#20949. Moortal Cowmbat

Statistics

Bessie joga há muito tempo o popular jogo de luta Moortal Cowmbat. Mas uma atualização recente exige mudar seu estilo.

Há $M$ botões, as primeiras $M$ letras minúsculas ($1 \leq M \leq 26$). Seu combo preferido é string $S$ de comprimento $N$ ($1 \leq N \leq 10^5$). Agora cada combo deve ser feito de «sequências»: apertar o mesmo botão pelo menos $K$ vezes seguidas ($1 \leq K \leq N$). Quer alterá-lo mantendo comprimento $N$ e formando sequências válidas.

Treinar para apertar $j$ em vez de $i$ numa posição específica leva $a_{ij}$ dias, custo de mudar uma letra específica de $S$ de $i$ para $j$. Passar de $i$ por um botão intermediário $k$ e depois para $j$ pode ser mais rápido que diretamente. Em geral uma cadeia de mudanças de $i$ a $j$ pode dar o melhor custo total.

Ache o mínimo de dias para criar um combo válido.

Entrada

A primeira linha contém $N$, $M$, $K$, a segunda $S$, as últimas $M$ uma matriz $M\times M$ de inteiros $a_{ij}$ em $0 \ldots 1000$, com $a_{ii} = 0$ para todo $i$.

Saída

Imprima um número, mínimo de dias para adaptar o combo.

Exemplos

Entrada 1

5 5 2
abcde
0 1 4 4 4
2 0 4 4 4
6 5 0 3 2
5 5 5 0 4
3 7 0 5 0

Saída 1

5

Explicação

O ótimo muda a para b, d para e, depois ambas e para c. Leva $1+4+0+0=5$ dias e termina em bbccc.

Pontuação

  • Testes 2–4: $N\le 1000, K\le 50.$
  • Testes 5–8: $N\le 30,000, K\le 50.$

Créditos do problema: Eric Wei

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.