当前位置: 首页 > news >正文

搭建网站商城医院网站推广渠道

搭建网站商城,医院网站推广渠道,自我介绍html网页模板,电脑怎么创建网站最长公共子序列(LCS)(1) 题目描述 给出1-n的两个排列P1和P2,求它们的最长公共子序列。 输入 第一行是一个数n;(n是5~1000之间的整数)数据范围小,可以用二维数组dp 接下来两行,每行为n个数,为…

最长公共子序列(LCS)(1)

题目描述

给出1-n的两个排列P1和P2,求它们的最长公共子序列。

输入

第一行是一个数n;(n是5~1000之间的整数)数据范围小,可以用二维数组dp
接下来两行,每行为n个数,为自然数1-n的一个排列(1-n的排列每行的数据都是1-n之间的数,但顺序可能不同,比如1-5的排列可以是:1 2 3 4 5,也可以是2 5 4 3 1)。

输出

一个整数,即最长公共子序列的长度。

样例输入 
5 
3 2 1 4 5
1 2 3 4 5
样例输出 
3
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scan=new Scanner(System.in);int n=scan.nextInt();int []a=new int[n+1];int []b=new int[n+1];int [][] dp=new int[n+1][n+1];for(int i=1;i<=n;i++){a[i]=scan.nextInt();}for(int i=1;i<=n;i++){b[i]=scan.nextInt();}for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){if(a[i]==b[j]){dp[i][j]=dp[i-1][j-1]+1;}else{dp[i][j]=Math.max(dp[i-1][j],dp[i][j-1]);}}}System.out.println(dp[n][n]);}
}

 最长公共子序列(LCS)(2)

题目描述

给出1-n的两个排列P1和P2,求它们的最长公共子序列。
和最长公共子序列(LCS)(1)问题不同的是,本题的n在5-100000之间。数据范围大,要用映射的做法把问题转化为求最长递增子序列的长度

输入

第一行是一个数n;(n是5-100000之间的整数)
接下来两行,每行为n个数,为自然数1-n的一个排列(1-n的排列每行的数据都是1-n之间的数,但顺序可能不同,比如1-5的排列可以是:1 2 3 4 5,也可以是2 5 4 3 1)。

输出

一个整数,即最长公共子序列的长度。

样例输入 
5 
3 2 1 4 5
1 2 3 4 5
样例输出 
3
提示

对于50%的数据,n≤1000
对于100%的数据,n≤100000

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scan=new Scanner(System.in);int n=scan.nextInt();int[] p1=new int[n];int[] p2=new int[n];for(int i=0;i<n;i++){p1[i]=scan.nextInt();}for(int i=0;i<n;i++){p2[i]=scan.nextInt();}//映射int[] pos=new int[n+1];for(int i=0;i<n;i++){pos[p2[i]]=i;}int[] nums=new int[n+1]; //[2,1,0,3,4]for(int i=0;i<n;i++){nums[i]=pos[p1[i]];}//求nums的最长递增子序列int[] tails=new int[n];int len=0;for(int i=0;i<n;i++){int num=nums[i];int left=0;int right=len-1;int insertpos=len;while (left<=right){int mid=left+(right-left)/2;if(tails[mid]<num){left=mid+1;}else{insertpos=mid;right=mid-1;}}tails[insertpos]=num;if(insertpos==len){len++;}}System.out.println(len);}
}

http://www.dtcms.com/a/474231.html

相关文章:

  • 从零复现论文(2)——:基于启发式优化的无线传感器网络WSN功率分配策略
  • 【Swift】LeetCode 283. 移动零
  • 【Java数据结构】冒泡排序编码关键细节与避坑指南
  • DPDK中的BitMap测试
  • 网站制作合作2023企业税收标准
  • Windchill中afterVK的写法示例
  • 《红色脉络:一部PLMN在中国的演进史诗 (1G-6G)》 第12篇 | 接入网重构:从eNodeB到gNodeB——C-RAN与“下沉”
  • so域名的网站有哪些wordpress主题恢复出厂设置
  • Maven中的settings.xml文件配置详解
  • 南昌制作企业网站湘潭网站建设 安全还踏实磐石网络
  • 我设计的数字编码
  • 从分片到可编程网卡——【网络编程】详解 IP 协议:报头字段、路由器功能、网段划分和分片传输
  • 南通网站建设排名公司哪家好北京网站建设公司电扬
  • BSW:辅助模块、校验与代码生成笔记
  • seo网站营销推广wordpress更新版本
  • 李宏毅机器学习笔记20
  • 无锡信息网站建设最近热点新闻素材
  • 开发中遇到的关于Spring事务[传播行为和隔离级别]的相关问题的记录
  • CVE-2019-2729反序列化(unserialize)漏洞学习与分析
  • 一流的句容网站建设自己做的网站找不到了
  • TDengine 数学函数 CEIL 用户手册
  • 石家庄好用的招聘网站做网站网站会被判多久
  • 北京平台网站建设代运营公司介绍
  • AI编程作品:Android 极简秒表应用
  • 网络五子棋对战游戏测试报告
  • html做网站的原则自建站排名
  • 互联网彩票网站开发珠海seo关键词排名
  • springboot095交通事故档案管理系统lgl(源码+部署说明+演示视频+源码介绍+lw)
  • 新郑郑州网站建设铭讯网站建设
  • 在next项目中使用iconfont图标方法