PATA1045答案错误,求解啊啊啊啊啊

代码如下:
#include<bits/stdc++.h>
using namespace std;

const int maxn=205;
const int maxl=10004;
int hashtable[maxn],tw[maxl];
int dp[maxl];
int main()
{
int n,m,l;
memset(hashtable,-1,sizeof(hashtable));//找不到为-1
scanf("%d",&amp;n);//颜色总数
scanf("%d",&amp;m);//喜欢的
for(int i=0;i<m;i++){
int colour; 
scanf("%d",&amp;colour);
hashtable[colour]=i;//映射为数字
}
scanf("%d",&amp;l);//条纹的长度
int num=0;
for(int i=0;i<l;i++){
int temp; 
scanf("%d",&amp;temp);
if(hashtable[temp]>=0){
tw[num]=hashtable[temp];
num++;
}
}
for(int i=0;i<num;i++){
//printf("%d ",tw[i]);
dp[i]=1;//初始化
}
int ans=-1;
//对tw序列找递增的
for(int i=1;i<num;i++){
for(int j=0;j<i;j++){
if(tw[j]<=tw[i]){//前面的小
dp[i]=max(dp[i],dp[j]+1);
}
}
ans=max(ans,dp[i]);//最长不下降
}
printf("%d\n",ans);
 return 0;
 }
全部评论
大佬这个分享有收藏的必要
点赞 回复 分享
发布于 2023-05-30 11:15 湖北
用bitset来实现hashtable可行吗
点赞 回复 分享
发布于 2023-05-30 11:12 新疆

相关推荐

05-26 10:24
门头沟学院 Java
qq乃乃好喝到咩噗茶:其实是对的,线上面试容易被人当野怪刷了
找工作时遇到的神仙HR
点赞 评论 收藏
分享
LazyBreeze:项目尽量体现你对技术的理解和深度,不是说把中间件用一下就完事了,你项目里面提到集群和分布式,你真在服务器上部署过吗,感觉太假了,第二个项目说自己用了微服务的什么组件,只是用了没有自己的思考,很难让面试官注意到你的简历。针对某几个技术点自己多思考一下,考虑一下有没有别的替代方案,可以写一下,即使没有真的实现
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务