uva 10635 Prince and Princess (将LCS 转化为 LIS)
2014-01-17 12:21
483 查看
关键在于把两个序列中共同出现过的元素 在 第一个序列中出现的序号记下来,
存在数组b中,然后找b的LIS。
可以用二分查找 来排序,也可以用插入排序边插入序号边比较找出最大长度。
STL的运用:
iterator lower_bound( const key_type &key ): 返回一个迭代器,指向键值>= key的第一个元素。
iterator upper_bound( const key_type &key ):返回一个迭代器,指向键值> key的第一个元素。
需要包含头文件<algorithm>
存在数组b中,然后找b的LIS。
可以用二分查找 来排序,也可以用插入排序边插入序号边比较找出最大长度。
STL的运用:
iterator lower_bound( const key_type &key ): 返回一个迭代器,指向键值>= key的第一个元素。
iterator upper_bound( const key_type &key ):返回一个迭代器,指向键值> key的第一个元素。
需要包含头文件<algorithm>
#include<cstdio> #include<iostream> #include<cstring> #include<algorithm> #define maxn 255 #define INF 0xffffff using namespace std; int num[maxn*maxn],b[maxn*maxn]; int f[maxn*maxn],dp[maxn*maxn]; int main() { int T,n,p,q,maxl,cas,tmp,k; scanf("%d",&T); for(cas=1;cas<=T;cas++) { memset(num,0,sizeof(num)); scanf("%d%d%d",&n,&p,&q); for(int i=0;i<p+1;i++) { scanf("%d",&tmp); num[tmp]=i+1; } int r=1; for(int i=0;i<q+1;i++) { scanf("%d",&tmp); if(num[tmp]) b[r++]=num[tmp]; } memset(f,0x3f,sizeof(f)); maxl=-1; for(int i=1;i<r;i++) { k=lower_bound(f+1,f+r,b[i])-f; dp[i]=k; f[k]=b[i]; if(dp[i]>maxl) maxl=dp[i]; } printf("Case %d: %d\n",cas,maxl); } return 0; }
相关文章推荐
- uva 10635 Prince and Princess(LCS问题转化成LIS问题O(nlogn))
- UVA 10635 - Prince and Princess LCS转化为LIS
- UVA 10635 - Prince and Princess LCS转化为LIS
- dp(LCS转化成LIS)uva 10635 - Prince and Princess
- 【UVA 10635】【LCS转化成LIS】 Prince and Princess
- UVA 10635 Prince and Princess LCS转化为LIS *
- UVA 10635 - Prince and Princess (LCS转成LIS DP)
- 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 求解 LCS】
- UVa 10635 Prince and Princess / LCS 转 LIS
- (UVA - 10635)Prince and Princess (LCS变形为LIS,DP)
- Prince and Princess UVA - 10635(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 2018-2-8
- UVa 10635 - Prince and Princess 问题转化..LCS巧妙算法..
- UVA - 10635 Prince and Princess LCS转LIS
- UVA 10635 Prince and Princess(LCS转LIS)