nyoj 760 See LCS again
See LCS again
- 描述
- 
There are A, B two sequences, the number of elements in the sequence is n、m; Each element in the sequence are different and less than 100000. Calculate the length of the longest common subsequence of A and B. 
- 输入
- The input has multicases.Each test case consists of three lines;
 The first line consist two integers n, m (1 < = n, m < = 100000);
 The second line with n integers, expressed sequence A;
 The third line with m integers, expressed sequence B;
- 输出
- For each set of test cases, output the length of the longest common subsequence of A and B, in a single line.
- 样例输入
- 
5 4 
 1 2 6 5 4
 1 3 5 4
- 样例输出
- 
3 #include<stdio.h> 
 #include<string.h>
 #include<algorithm>
 #include<iostream>
 using namespace std;
 int dp[],g[];
 int main()
 {
 int n,m;
 while(~scanf("%d%d",&n,&m))
 {
 memset(dp,,sizeof(dp));
 int x;
 for(int i = ; i <= n ; ++ i)
 scanf("%d",&x),dp[x]=i;
 int r = ;
 for(int i = ; i <= m ; ++ i)
 {
 scanf("%d",&x);
 if(dp[x])
 g[r++]=dp[x];
 }
 int p = ;
 dp[p++] = g[];
 for(int i = ; i < r ; ++ i)
 if(dp[p-] < g[i])
 dp[p++] = g[i];
 else
 {
 x = lower_bound(dp,dp+p,g[i])-dp;
 dp[x] = g[i];
 }
 printf("%d\n",p);
 }
 return ;
 }函数lower_bound()在first和last中的前闭后开区间进行二分查找,返回大于或等于val的第一个元素位置。如果所有元素都小于val,则返回last的位置,且last的位置是越界的! 
 返回查找元素的第一个可安插位置,也就是“元素值>=查找值”的第一个元素的位置
nyoj 760 See LCS again的更多相关文章
- NYIST 760 See LCS again
		See LCS again时间限制:1000 ms | 内存限制:65535 KB难度:3 描述There are A, B two sequences, the number of elements ... 
- nyoj 36 最长公共子序列【LCS模板】
		最长公共子序列 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 咱们就不拐弯抹角了,如题,需要你做的就是写一个程序,得出最长公共子序列.tip:最长公共子序列也称作最 ... 
- NYOJ 36 LCS(最长公共子序列)
		题目链接: http://acm.nyist.edu.cn/JudgeOnline/problem.php?pid=36 最长公共子序列 时间限制:3000 ms | 内存限制:65535 KB ... 
- nyoj 37-回文字符串(reverse, 动态规划, lcs)
		37-回文字符串 内存限制:64MB 时间限制:3000ms Special Judge: No accepted:10 submit:17 题目描述: 所谓回文字符串,就是一个字符串,从左到右读和从 ... 
- nyoj 36-最长公共子序列 (动态规划,DP, LCS)
		36-最长公共子序列 内存限制:64MB 时间限制:3000ms Special Judge: No accepted:18 submit:38 题目描述: 咱们就不拐弯抹角了,如题,需要你做的就是写 ... 
- NYOJ 1007
		在博客NYOJ 998 中已经写过计算欧拉函数的三种方法,这里不再赘述. 本题也是对欧拉函数的应用的考查,不过考查了另外一个数论基本定理:如何用欧拉函数求小于n且与n互质所有的正整数的和. 记eule ... 
- NYOJ 998
		这道题是欧拉函数的使用,这里简要介绍下欧拉函数. 欧拉函数定义为:对于正整数n,欧拉函数是指不超过n且与n互质的正整数的个数. 欧拉函数的性质:1.设n = p1a1p2a2p3a3p4a4...pk ... 
- 我的第一篇博客----LCS学习笔记
		LCS引论 在这篇博文中,博主要给大家讲一个算法----最长公共子序列(LCS)算法.我最初接触这个算法是在高中学信息学竞赛的时候.那时候花了好长时间理解这个算法.老师经常说,这种算法是母算法,即从这 ... 
- 动态规划之最长公共子序列(LCS)
		转自:http://segmentfault.com/blog/exploring/ LCS 问题描述 定义: 一个数列 S,如果分别是两个或多个已知数列的子序列,且是所有符合此条件序列中最长的,则 ... 
随机推荐
- 详解 QT 源码之 Qt 事件机制原理
			QT 源码之 Qt 事件机制原理是本文要介绍的内容,在用Qt写Gui程序的时候,在main函数里面最后依据都是app.exec();很多书上对这句的解释是,使 Qt 程序进入消息循环.下面我们就到ex ... 
- INFORMATICA  的元数据管理之二:运行状态信息查询
			本项目里的两个哥们做的关于运行状态元数据的两个JOB挺酷的,最近一段时间运行状况良好,自己参考学习的同时以做日志记载,呵呵,为了节省笔墨,相关元数据表结构以及MAPPING设计之类不做介绍(如有疑问欢 ... 
- [Grunt] Concatenating Your Javascript with grunt-contrib-concat
			Combine serval javascript files together. For angular project, make sure you add angular.min.js firs ... 
- (剑指Offer)面试题44:扑克牌的顺子
			题目: 从扑克牌中随机抽5张牌,判断是不是一个顺子,即这五张牌是不是连续的,2~10为数字本身,A为1,J为11,Q为12,K为13,而大小王可以看成任意数字. 思路: 把5张牌看成一个数组,就看排序 ... 
- C++ 声明与引用
			任何一个技术或者知识点,都是为了解决某个问题.也就是都有他的使用场景,或者说为什么搞出这种技术. 1.解决的问题:现实生活中的例子,要使用一个工具,必要把工具放在这里,或者说我有这个工具.工具只能放在 ... 
- [转载]手工安全测试方法&修改建议
			转载自: Web安全测试(一)-手工安全测试方法&修改建议 1.XSS(Cross-Site Script)跨站脚本攻击 XSS(Cross-Site Script):跨站脚本攻击. 它指的是 ... 
- android 实现摇一摇功能
			实现“摇一摇”功能,其实很简单,就是检测手机的重力感应,具体实现代码如下: 一.在 AndroidManifest.xml 中添加操作权限 二.实现代码 package com.xs.test; im ... 
- webpack 引入jquery和第三方jquery插件
			1.引入jquery jQuery 直接在 html 中引入,然后在 webpack 中把它配置为全局即可. index.html: <!DOCTYPE html> <html> ... 
- [Done]FindBugs: boxing/unboxing to parse a primitive
			在开发过程中遇到了以下问题: FindBugs: boxing/unboxing to parse a primitive 查看代码(左边是老代码,右边是新的): 问题出在 自动装箱和拆箱的检查. 参 ... 
- PHP-根据字符串和所用字体计算字符串所占宽高
			今天由于用GD画图, 需要把一段文字在一个框内居中, 但是文字的宽度如果用strlen($str) * $font_size来计算的话, 由于文字不是等宽高的, 所以会导致偏离, 最后选用的GD库的i ... 
