网站链接到邮箱怎么做,广告设计专业英语,中国建筑英才网,如何做视频卖给网站这道题还可以转化成最长回文串#xff0c;实际的答案是 离散化后的数组最长回文串切成一半有几个数字#xff0c;这些数字就是中间的数字需要对齐的对象#xff0c;所以不用改变 #include bits/stdc.h
using namespace std;const int maxN 5008;int n;
int dp[maxN…这道题还可以转化成最长回文串实际的答案是 离散化后的数组最长回文串切成一半有几个数字这些数字就是中间的数字需要对齐的对象所以不用改变 #include bits/stdc.h
using namespace std;const int maxN 5008;int n;
int dp[maxN][maxN];
vectorint a(1), b;
vectorint ans;void input() {cin n;for (int i 0; i n; i) {int x; cin x;if (x ! a.back()) a.push_back(x);}n a.size() - 1;b a;reverse(b.begin() 1, b.end());
}void solve() {for (int i 1; i n; i) {for (int j 1; j n; j) {if (a[i] b[j]) {dp[i][j] dp[i-1][j-1] 1;}else {dp[i][j] max(dp[i-1][j], dp[i][j-1]);}}}
}void output() {cout n - (dp[n][n] 1)/2 \n;
}int main() {input();solve();output();return 0;
} 转载于:https://www.cnblogs.com/lishengkangshidatiancai/p/10362537.html