UVa10635 Prince and Princess
2017-09-07 13:24
176 查看
题目描述 传送门
求两序列的LCS,当序列元素两两互不相等可转化为LIS。
LIS可以用O(nlogn)的算法求解。
(但我还是理解不透彻,总感觉在背模板…)
代码
求两序列的LCS,当序列元素两两互不相等可转化为LIS。
LIS可以用O(nlogn)的算法求解。
(但我还是理解不透彻,总感觉在背模板…)
代码
#include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; const int maxn=70000; int a[maxn],b[maxn],c[maxn],d[maxn],g[maxn]; int main(){ int t,kase=0; cin>>t; while(t--){ int n,p,q; scanf("%d%d%d",&n,&p,&q); memset(c,0,sizeof(c)); for(int i=1;i<=p+1;i++){ scanf("%d",&a[i]); c[a[i]]=i; } for(int i=1;i<=q+1;i++){ scanf("%d",&b[i]); b[i]=c[b[i]]; } for(int i=1;i<=q+1;i++) g[i]=1e9; g[0]=0; d[0]=0; for(int i=1;i<=q+1;i++){ int k=lower_ abbe bound(g,g+q+2,b[i])-g; d[i]=k; g[k]=b[i]; } printf("Case %d: %d\n",++kase,d[q+1]); } return 0; }
相关文章推荐
- UVa10635 - Prince and Princess
- Uva10635 Prince and Princess(LIS)
- uva10635 - Prince and Princess(巧妙动归)
- Uva10635 Prince and Princess
- uva10635 Prince and Princess(dp)
- uva10635 Prince and Princess LCS 变 lIS
- uva10635 - Prince and Princess
- UVa10635 - Prince and Princess(LCS转LIS)
- UVa10635--Prince and Princess(LCS转LIS)
- UVA10635 Prince and Princess 动态规划
- UVA10635- Prince and Princess
- UVA10635 Prince and Princess 动态规划
- 【动态规划14】UVA10635 Prince and princess(LCS转LIS)
- UVA10635 Prince and Princess(LIS)
- UVa10635 Prince and Princess(LCS)
- 例题27 UVa10635 Prince and Princess(DP:LIS的nlogn算法)
- uva 10635 - Prince and Princess(LCS)
- UVA 10635 Prince and Princess
- Prince and Princess(动态规划)
- UVA 10635 Prince and Princess 最长公共子序列(nlongn)