解题思路:后续补充
注意事项:测试结果顺序可能不一致,交换a, b序列嵌套循环
参考代码:
#include#include#include #includeusing namespace std; const int N = 5e2 + 10; struct node{ int v = 0; vector p; }; int a[N],b[N],n,m; node f[N]; int main() { cin >> n; for(int i = 1; i > a[i]; cin >> m; for(int i = 1; i > b[i]; for(int i = 1; i <= m; i ++){ node mx; for(int j = 1; j a[j]) { if(mx.v < f[j].v) mx = f[j]; } else if(b[i] == a[j]) { f[j].v = mx.v + 1; f[j].p = mx.p; f[j].p.push_back(a[j]); } } } int ans = 0,res = 0; for(int j = 1; j <= n; j ++) { if(ans < f[j].v){ ans = f[j].v; res = j; } } cout << ans << endl; for(auto it = f[res].p.begin(); it != f[res].p.end(); it++ ) cout << *it << ' '; return 0; }
0.0分
1 人评分
A+B for Input-Output Practice (V) (C++代码)浏览:451 |
最长单词 (C语言代码)浏览:1390 |
C语言程序设计教程(第三版)课后习题5.6 (C语言代码)浏览:878 |
C语言程序设计教程(第三版)课后习题5.7 (Java代码)浏览:889 |
P1000 (C语言代码)浏览:877 |
1014题解浏览:485 |
简单的a+b (C语言代码)浏览:547 |
勾股数 (C语言代码)浏览:800 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:520 |
C语言程序设计教程(第三版)课后习题10.3 (C语言代码)浏览:840 |