关键:f[i][j]这个数组表示改造字符串前i个字符使其与niuniu这个字符串前j个相同的个数。则最终的结果就是f[n][6],即s前n个字符共可以改造几次得到niuniu这个字符串。 初始化 for(int i=0;i<=n;i++) { f[i][0]=1; } 该初始化表示将字符串前i个变为空字符的方法有几种。显然只有一种方案即全部清空。 状态转移方程: 当s[i]==s1[j]时,说明这个是s[i]字符可以出现在s1字符串中。这个字符有两种选择要么让它加入构成niuniu,要么删除它。所以f[i][j]=f[i-1][j]+f[i-...