#P11202. [JOIG 2024] 名前 / Name

    ID: 10696 Type: RemoteJudge 1000ms 1024MiB Tried: 0 Accepted: 0 Difficulty: 5 Uploaded By: Tags>动态规划,dp2024O2优化广度优先搜索,BFSJOI(日本)

[JOIG 2024] 名前 / Name

题目描述

JOI 君和 IOI 君决定养一只狗。经过讨论,他们决定给狗取一个满足以下所有条件的名字:

  1. 名字必须仅包含大写字母和小写字母;
  2. JOI 君最喜欢的字符串是长度为 NN 的字符串 SS,名字必须包含 SS 作为子序列;
  3. IOI 君最喜欢的字符串是长度为 MM 的字符串 TT,名字必须包含 TT 作为子序列;
  4. 名字中任意两个相同的字符之间必须间隔至少 KK 个其他字符。

以上的所有条件区分大小写,例如,我们将 Aa 视为不同的字符。

一个字符串的子序列定义为删除其中若干个字符(可以为 00 个)形成的字符串。例如该字符串为 algorithm,那么 ailgtm 是它的子序列,而 joilogarithm 不是。

由于他们都认为名称越短越好,所以他们决定选用满足上述四个条件的且最短的名字。

给定字符串 S,TS,T 和整数 KK,请你求出满足条件的名字的最短长度。

输入格式

第一行输入三个整数 N,M,KN,M,K

第二行输入一个字符串 SS

第三行输入一个字符串 TT

输出格式

输出一行一个整数表示最小长度。

10 10 0
hottokeiki
hottokeiki
10
10 10 1
hottokeiki
hottokeiki
11
10 10 3
hottokeiki
hottokeiki
15
6 9 0
Jouhou
Orinpikku
14
9 7 1
CoMMiTTee
TeRRaCe
15
6 8 2
JOIIOI
JOIGEGOI
9

提示

【样例解释 #1】

字符串 hottokeiki 满足条件。可以证明,不存在长度更小的字符串满足条件,故答案为 1010

该样例满足子任务 1,3,4,7,81,3,4,7,8 的限制。

【样例解释 #2】

相较于上一个样例,仅有 KK 的值发生变化。

在该样例中,上一个样例的输出 hottokeiki 不满足第四个条件(任意两个相同的字符之间必须间隔至少 KK 个其他字符),因为两个 t 中没有其他字符。

而字符串 hotNtokeiki 满足条件,可以证明,不存在长度更小的字符串满足条件,故答案为 1111

该样例满足子任务 2,3,5,6,7,82,3,5,6,7,8 的限制。

【样例解释 #3】

相较于前两个样例,仅有 KK 的值发生变化。

在该样例中,上一个样例的输出 hotNtokeiki 不满足第四个条件(任意两个相同的字符之间必须间隔至少 KK 个其他字符),因为两个 t 之间仅有 11 个字符,两个 k 之间仅有 22 个字符,两个 i 之间仅有 11 个字符。

而字符串 hotarutokeiyuki 满足条件,可以证明,不存在长度更小的字符串满足条件,故答案为 1515

该样例满足子任务 3,83,8 的限制。

【样例解释 #4】

字符串 OJouhorinpikku 满足条件。可以证明,不存在长度更小的字符串满足条件,故答案为 1414

请注意上面的条件区分大小写,因此诸如 jouhorinpikku(长度为 1313)这样的字符串符合条件。

该样例满足子任务 4,7,84,7,8 的限制。

【样例解释 #5】

字符串 CoMaMiTeRTeRaCe 是长度最小且满足条件的字符串,故答案为 1515

该样例满足子任务 5,6,7,85,6,7,8 的限制。

【样例解释 #6】

字符串 JOIGEIGOI 是长度最小且满足条件的字符串,故答案为 99

该样例满足子任务 7,87,8 的限制。

【数据范围】

  • 1N,M5001\le N,M\le 500
  • 0K30\le K\le 3
  • S,TS,T 中仅包含大写字母和小写字母。

【子任务】

  1. 22 分)S=TS=TK=0K=0
  2. 77 分)S=TS=TK=1K=1
  3. 1616 分)S=TS=T
  4. 1717 分)K=0K=0
  5. 1313 分)K=1K=1N,M25N,M\le 25
  6. 1515 分)K=1K=1
  7. 2020 分)K2K\le 2
  8. 1010 分)无附加条件。