题解:
1.找到a数组中的元素,对应b数组中的位置,然后在这些位置中找到最长递增子序列
总结:
1.今天看了“I_will_____”大神,如何调用realsence中color和depth的信息,受益匪浅
2.感觉对待一个一大篇自己不太懂得代码:
首先不要慌张
看源代码周围的注释,找出最核心的信息
然后观察变量名,一般都是有含义的
找到可能与自己需要有关的对象,查看定义(f12)
tips:对于c++,尤其是图像处理,不要忘记释放内存
#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
using namespace std;
int const MAXN = 250 * 250 + 10;
int idx[MAXN],num[MAXN],d[MAXN];
int main()
{
int _,n,m,p,cur;
cin >> _;
int kcas = 1;
while(_--)
{
cin >> n >> m >> p;
memset(idx,0,sizeof(idx));
for(int i = 1;i <= m + 1;i++)
{
cin >> cur;
idx[cur] = i;
}
for(int i = 0;i < p + 1;i++)
{
cin >> cur;
num[i] = idx[cur];
}
memset(d,0x3f,sizeof(d));
int ans = 0;
for(int i = 0;i < p + 1;i++)
{
int ind = lower_bound(d,d + p + 1,num[i]) - d;
ans = max(ans,ind);
d[ind] = num[i];
}
printf("Case %d: %d\n",kcas++,ans + 1);
}
}