Uva 10635 - Prince and Princess(LIS)
2013-03-31 22:51
357 查看
//将LCS转变成LIS比较巧,时间复杂度从p*q到 nlogn #include<stdio.h> #include<string.h> #include<algorithm> using namespace std; const int INF = 1000000000; const int maxn=250*250; int S[maxn],g[maxn],d[maxn]; int num[maxn]; int main() { int t,i,Case,n,p,q,x; scanf("%d",&t); for(Case=1;Case<=t;Case++) { scanf("%d%d%d",&n,&p,&q); memset(num,0,sizeof(num)); for(i=1;i<=p+1;i++) { scanf("%d",&x); num[x]=i; } int n=0; for(i=0;i<q+1;i++) { scanf("%d",&x); if(num[x]) S[n++]=num[x]; } for(i=1;i<=n;i++) g[i]=INF; int ans=0; // for(i=0;i<n;i++) // printf("%d ",S[i]); // printf("\n"); for(i=0;i<n;i++) { int k=lower_bound(g+1,g+n+1,S[i])-g; //printf("%d+++++%d++\n",lower_bound(g+1,g+n+1,S[i]),k); d[i]=k; g[k]=S[i]; ans=max(ans,d[i]); } printf("Case %d: %d\n",Case,ans); } return 0; }
相关文章推荐
- UVA - 10635 Prince and Princess (求LIS)
- UVA 10635 - Prince and Princess LCS转化为LIS
- dp(LCS转化成LIS)uva 10635 - Prince and Princess
- UVa 10635 Prince and Princess 【LIS】
- UVA 10635 Prince and Princess DP LIS
- UVA 10635 Prince and Princess【LCS 问题转换为 LIS】
- UVa 10635 - Prince and Princess(LCS转LIS)
- UVA 10635 Prince and Princess DP LIS
- uva 10635 Prince and Princess(LCS成问题LIS问题O(nlogn))
- UVA 10635 Prince and Princess【LCS 问题转换为 LIS】
- UVa 10635 Prince and Princess / LCS 转 LIS
- UVA 10635 Prince and Princess (LCS优化转LIS)
- UVA 10635 Prince and Princess——LIS
- UVA 10635 Prince and Princess LCS转化为LIS *
- uva_10635 - Prince and Princess(LIS)
- UVA - 10635 Prince and Princess 转化为 LIS
- uva 10635 Prince and Princess (将LCS 转化为 LIS)
- UVA 10635 Prince and Princess(LCS转LIS)
- uva 10635 Prince and Princess(LCS问题转化成LIS问题O(nlogn))
- Uva - 10635 - Prince and Princess(LCS转LIS)