最长公共子序列问题

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

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];
    }

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

为什么在求最长公共子序列时,fmid大于等于或大于ai都可以,而在最长单调上升子序列中只能大于等于,不能大于

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];
        }
}
相关推荐
Bs_MoneyMagnet20 小时前
基于springboot+vue的滑雪场票务与装备租赁系统的设计与实现 源码+文档
java·vue.js·spring boot·后端·spring·毕业设计·计算机毕业设计
不会就选b1 天前
算法日常・每日刷题--<贪心>14
算法
野生技术架构师1 天前
2026 Java 面试全套总结,八股 + 场景 + AI 相关面试考点
java·人工智能·面试
香吧香1 天前
java服务异常日志只打印异常类型,没有堆栈定位分析
java·jvm·异常
qq_2518364571 天前
AI 疾病自查功能SpringbootAI项目实战 · 技术实现文档
java·ai·ai编程
mmmmath_31 天前
LeetCode.541.反转字符串II
数据结构·算法·leetcode
Navigator_Z1 天前
LeetCode //MySQL - 1251. Average Selling Price
c语言·算法·leetcode
逆境不可逃1 天前
Pi Agent 学习笔记:对话太长以后,如何压缩上下文
java
MetaLite1 天前
JDK 8~26 核心特性一览:从 Stream 到 Scoped Values
java