dp求助,只有10pts

P1435 [IOI2000] 回文字串

@[lwx20211103](/user/727008) `if (s[i - 1] == t[i - 1])`->`if (s[i - 1] == t[j - 1])` and you can get an [AC](https://www.luogu.com.cn/record/98044442).
by Jerrlee✅ @ 2022-12-26 14:55:09


@[lwx20211103](/user/727008) 看楼上
by Jim_Franklin @ 2022-12-26 15:04:52


@[Jerrlee✅](/user/367652) thx![](//图.tk/a)
by lwx20211103 @ 2022-12-26 15:33:30


你的策略和我的不太一样,我是把它反过来,和原来的字符串求最长相同子序列,给你一份代码 ```C++ #include<bits/stdc++.h> using namespace std; char s1[1005],s2[1005]; int dp[1005][1005]; int main(void) { cin>>s1+1; s1[0]=' '; int len=strlen(s1)-1; for(int i=1,j=len;i<=len;i++,j--)s2[j]=s1[i]; for(int i=1;i<=len;i++) { for(int j=1;j<=len;j++) { if(s1[i]==s2[j])dp[i][j]=dp[i-1][j-1]+1; else dp[i][j]=max(dp[i-1][j],dp[i][j-1]); } } cout<<len-dp[len][len]; return 0; } ```
by 凤凰工作室 @ 2023-01-04 16:31:40


|