如果我wa了#8

P4059 [Code+#1] 找爸爸

再请问一下,这个题是如何保证a串和b串加了空格之后长度相等的呢?
by Mr_ll @ 2022-07-18 19:03:55


```cpp f[0][0][0]=f[0][0][1]=f[0][0][2]=0; for(int i=1;i<=la;i++){ for(int j=1;j<=lb;j++){ ``` 这三行应改成 ```cpp f[0][0][0]=0; for(int i=0;i<=la;i++){ for(int j=0;j<=lb;j++){ ``` 可以结合样例理解一下。 样例输入: ```plain AAAA TAAAA 100 -100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 1 ``` 样例输出: ```plain 398 ``` 样例解释: ```plain -AAAA TAAAA ```
by LIUJUNYU @ 2022-08-05 16:43:02


@[Mr_ll](/user/365532) 我认为可以这样理解:每次状态转移视为两个串对应字符(字母或空格)的之间的匹配,由于匹配时两个字符(字母或空格)成对出现,不仅可以保证匹配完成(即完成所有状态转移)时两个插入空格后的串长度相等,在匹配过程(即每次成功的状态转移)中也是如此。
by LIUJUNYU @ 2022-08-05 16:55:30


@[LIUJUNYU](/user/444344) 大概明白聊,谢谢您
by Mr_ll @ 2022-08-06 08:13:37


|