最长公共子序列问题

构造最长公共子序列为什么要这样构造序列

cpp 复制代码
 for(int i=1;i<=n;++i)
    {
        int k;
        cin>>k;
        b[k]=i;
    }
    for(int i=1;i<=n;++i)
    {
   	    int k;
    	cin>>k;
    	a[i]=b[k];
    }

并且为什么要求上升序列,是有什么数学知识包含在其中吗?

为什么在求最长公共子序列时,f[mid]大于等于或大于a[i]都可以,而在最长单调上升子序列中只能大于等于,不能大于

cpp 复制代码
   for(int i=1;i<=n;++i)
    {
	    if(f[ans]<a[i]) f[++ans]=a[i];
	    else
	    {
 	        int l=1,r=ans;
 	        while(l<r)
  	        { 
        	    int mid=(l+r)>>1;
        	    if(f[mid]>a[i]) r=mid;
                else l=mid+1;   
            }
            f[l]=a[i];
        }
}
相关推荐
luffy545911 分钟前
Rust语言入门-变量篇
开发语言·后端·rust
2301_8073671917 分钟前
C++中的模板方法模式
开发语言·c++·算法
weixin_5375904518 分钟前
《C程序语言设计》练习答案(练习1-3)
c语言·开发语言
m0_4592524630 分钟前
fastadmin动态渲染统计信息
开发语言·前端·javascript·php
PhotonixBay41 分钟前
共聚焦显微镜的结构组成与应用
人工智能·算法·机器学习
MegaDataFlowers42 分钟前
快速上手Spring
java·后端·spring
小江的记录本42 分钟前
【MyBatis-Plus】Spring Boot + MyBatis-Plus 进行各种数据库操作(附完整 CRUD 项目代码示例)
java·前端·数据库·spring boot·后端·sql·mybatis
左左右右左右摇晃44 分钟前
Java 笔记--OOM产生原因以及解决方法
java·笔记
大傻^1 小时前
Spring AI Alibaba Function Calling:外部工具集成与业务函数注册
java·人工智能·后端·spring·springai·springaialibaba
傻啦嘿哟1 小时前
Python 操作 Excel 条件格式指南
开发语言·python·excel