uva10635

dp(LCS转化成LIS)uva 10635 - Prince and Princess 题目链接: http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1576 题目意思: 有两个数组,求两个数组的最长公共子序列长度。两个数组中数都在1~n*n范围内,且数组内没有任意两个数相同。 解题思路: 常见的LCS时间复杂度为o(n*n)肯定行 阅读详情

 

白书P66页上的题目。。

关键:

把LCS转化为LIS ,,

然后用 nlogn 的LIS实现。

 

 

#include<iostream>
#include<cstdio>
#include<string>
#include<cstring>
#include<algorithm>
using namespace std;
const int maxn=250*250;
int S[maxn],num[maxn],g[maxn];
int d[maxn];
const int INF=10000000;
int main(){
    int t;
    scanf("%d",&t);
    int cas=0;
    while(t--){
        int n,n1,n2;
        scanf("%d%d%d",&n,&n1,&n2);
        memset(num,0,sizeof(num));
        memset(S,0,sizeof(S));
        memset(d,0,sizeof(d));
        for(int i=1;i<=n1+1;++i){
            int x;
            scanf("%d",&x);
            num[x]=i;
        }
        int tol=0;
        for(int i=1;i<=n2+1;++i){
            int x;
            scanf("%d",&x);
            if(num[x])S[++tol]=num[x];
        }
        for(int i=1;i<=n*n;++i)g[i]=INF;
        int ans=0;
        for(int i=1;i<=tol;++i){
            int k=lower_bound(g+1,g+1+n*n,S[i])-g;
            d[i]=k;
            g[k]=S[i];
            ans=max(ans,d[i]);
        }
        printf("Case %d: %d\n",++cas,ans);
    }
}


 

WIFI 相关的频偏调试以及天线调试记录 WIFI RF 相关的频偏调试以及天线调试 1,频率误差(Frequency Error) 频率误差(Frequency Error):表征射频信号偏离该信号所处信道中心频率的大小,单位PPM。频偏误差要求范围如下表。 频偏越小越好。PPM的计算公式如下: 问题: 我们ESP8089认证测试的时候频偏测试超了。需要修改哪些呢。 测试频率点在2.411865385GHz 宣称点:2.412GHz 频率偏移计算:{(2.412GHz-2.411865385GHz)÷2... 阅读详情

相关推荐

[原创]Keil工程STM32F103C8T6无缝转换到STM32F103RCT6

有个项目,老版本是STM32F103C8T6,硬件资源不够了,新版本采用STM32F103RCT6。 无缝过渡,如下: 选定芯片 宏定义改为STM32F10X_HD,USE_STDPERIPH_DRIVER 删除原有的启动汇编文件,更换为高密度器件汇编文件 时钟系统紊乱? 那得看你程序怎么写: 先看F103时钟树 int main(void) { unsigned char stat...

江东风又起 2万+

Uva 10635(LCS转LIS)

题面 王子和公主 题意 有两个长度分别为p+1p+1p+1(A序列)和q+1q+1q+1(B序列)的序列,每个序列的各个元素互不相同,且都是111到n2n^2n2之间的数,求两个序列的LCSLCSLCS 思路 因为序列的各个元素互不相同,那么对A序列里面的元素建立映射,每个元素的映射为这个元素的下标,再对B序列里面的元素赋值为该元素对应的映射,如果没有出现过就赋值为0,这样只要是B的上升子序列那么必然是A的子序列(因为A里面元素对应的值是下标,所以是上升的),那么A和B的LCS就是此时B的LIS 代码 #i

m0_52062421的博客 222

Laravel 结合 jwt-auth 实现无状态 API 认证(实战解析)

本文详细解析了如何在Laravel框架中结合jwt-auth实现无状态API认证,包括JWT的优势、环境搭建、Token签发与刷新、API路由保护等实战内容。通过具体代码示例和优化技巧,帮助开发者高效解决跨域认证问题,提升系统安全性。

weixin_29315569的博客 210

uva 10635

题意: 有一块n*n的地图,从(1, 1)出发,到(n, n)。王子和公主,有不同的走法。国王觉得他们是兄妹,就应当尽量在一起。所以,在他们的走法中找出最长公共子序列。 这一题,就是求最长公共子序列。但是由于数据有点大,不怎么好动手。不过,由于每个人走的元素都不相同,所以可以把格子的编码重新排序。这样,我们就比较容易的利用LIS 得出解。(纯属按照厚白书套弄) #include #incl

DickensTone的博客 425

[官方培训]22-UE资产优化 Epic 肖月 笔记

Nanite+Lumen目标:面向TA,美术,不影响视觉的前提下,优化运行和编辑效率引擎:UE5.1延迟管线平台:主流PC,Windows 10 with DX12。

Tcohneyn的博客 1575

SRA数据库

简介 序列读取存档(sequence Read Archive,SRA)数据是可通过多个云提供商和NCBI服务器获得的,它是最大的可公开获得的高通量测序数据存储库。 SRA接受来自生活各个部门以及宏基因组学和环境调查的数据。 SRA存储原始测序数据和比对信息,以提高可重复性并通过数据分析促进新发现。 NCBI网站储存二代测序原始数据的数据库 SRA官网 从Entrez搜索结果中下载SRA序列 例如查找SRA Entrez中BALB / c小鼠淋巴结组织的RNA-Seq记录 获取搜索结果 SRA se

qq_44520665的博客 5909

UVA 10635

回头看了看LCS。做了几道水题,被一道题的时间给卡住了 题目:UVA10635 用常规的LCS做法做,怎么都超时间,想了想,一共62500那么大,n^2的时间复杂度确实是太高了,看了下白书,发现用LIS的方式很简单就能做出来,而且因为每个数字不一样,时间复杂度降低到了nlogn的复杂的。 思路大概就是因为要用LIS,所以需要有序,我们思考一下怎么才能有序呢,输入的顺序就是有序的,那么我们把输入顺序...

weixin_44019404的博客 313

matlab从无到有系列(九):Simulink基础仿真详解(全网最全,从入门到放弃)

🔗 运行环境:Matlab 🚩 作者:左手の明天 🥇 精选专栏:《python》 🔥 推荐专栏:《算法研究》 📚 选自专栏:《数学建模》 🧿 优秀专栏:《Matlab神经网络案例分析》 目前持续更新的专栏: 🥇 专栏:Matlab GUI编程技巧 🔥 专栏:Matlab从无到有系列 📚 专栏:《数学建模》 💗 大家好,我是左手の明天!💗 📆 最近更新:2022 年 4 月 2 日,左手の明天的第215 篇原创博客 🌟🌟往期必看🌟🌟 matlab从无到有系列(二):矩阵运算基础...

左手の明天的博客 9万+

UVa 10635

最长公共子序列的问题,不过看了其他的代码是把该问题想最长上升子序列转换的(LIS问题可以在nlogn时间内解决,不理解为何不是n^2) 代码如下: #include #include #include #include #include using namespace std; #define LLEN 80000 #define INF 99999999 int a[LLEN

For free 834

【图像去噪(Image Denoising)】关于【图像去噪】专栏的相关说明,包含适配人群、专栏简介、专栏亮点、阅读方法、定价理由、品质承诺、关于更新、去噪概述、文章目录、资料汇总、问题汇总(更新中)

你是否在全网苦寻【图像去噪(ImageDenoising)】的相关资料?你的目标是否是看懂【图像去噪(ImageDenoising)】的相关论文,复现代码,跑出结果,并试图创新?你是否需要发表【图像去噪(ImageDenoising)】的相关论文毕业?你是否需要做【图像去噪(ImageDenoising)】的相关项目,开发软件,研究算法,获得专利或者软著?只要是与【图像去噪(ImageDenoising)】有关的问题,那么请继续往下看。

主要更新底层视觉(去噪、超分等)相关的科研内容,形式为【论文精读】+【论文复现】 2万+

复现报告:《多回路人机控制系统仿真及II型PIO分析》方法复现与代码实现

本文复现了谭文倩硕士论文《多回路人机控制系统仿真及II型PIO分析》中的关键方法,重点实现了频域驾驶员模型辨识和参数灵敏度分析。通过数字化提取论文图表数据,构建了结构驾驶员模型传递函数,并验证了参数变化对系统特性的影响。采用MATLAB实现了描述函数计算、模型参数辨识和灵敏度分析算法,为后续神经网络模型辨识和II型PIO研究奠定了基础。由于缺乏原始实验数据,部分结果通过数值模拟获得,但仍有效重现了论文的核心分析方法。~~~~~

huanghm88的专栏 175

Prince and Princess UVa 10635

UVa 10635题意很简单,就是求两组数据的最长公共子序列的长度,常规方法求时间复杂度O(pq)肯定超时,因为p,q的范围上限是62500,这个题隐含了一个条件是这两个数组中各个元素互不相同,这样就可以把A数组中的元素重新编号为1,2,3....p+1,然后B数组根据A数组的数据也换成一一对应的编号,这样问题就转换成求B数组的最长递增子序列。时间复杂度可以降低为nlogn#include&lt;...

ccsu_cat 409

置顶必读(1) |《滚雪球学 Spring Boot 4.x》专栏目录导航篇(持续更新中)!

🏆 本文收录于 《滚雪球学 Spring Boot 4.x》 专栏。 本专栏面向 有一点 Java 基础,但没有系统学过 Spring Boot 的读者,采用“滚雪球式学习法”:先跑通、再理解、再重构、再上线,最终带你从第一个 Hello API 一路完成一个可部署、可监控、可扩展的后端项目。

**My Coding Family** 8万+

UVA - 10635——Prince and Princess(最长公共子序列)

题目链接:https://vjudge.net/problem/UVA-10635 题意:t组数据,第一行n,p,q,接着两个序列A[0],A[1].....A[p]。B[0],B[1],B[q]求这两行的公共子序列,单个序列中元素不重复,其中1<=A[i],B[i]<=n*n. 思路:用map建立序列A与序列B的一一映射,求B的最长递增子序列就等于求它俩的最长公共子序列 #i...

creator平 255

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

UVa 10635 Prince and Princess(JAVA版)

UVa 10635 Prince and Princess 题目大意:LCS 思路如下:这题倒是道很简单的题目,但是我还是挺喜欢的,至少学会了种新方法。求LCS,但是普通n^2的算法会超时,我第一次超时之后百度了下,看了看LCS的时间优化,说是结合LIS的nlogn算法,然后就开始想。挺巧的,但是我感觉这个方法只适用于数组元素不重复的情况。a、b数组分别接受两串数据,然后开一个lcs数组,当a

爪哇D来客 951

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

UVA 10635 王子和公主(LCS转LIS)

题目:https://vjudge.net/problem/UVA-10635 传统LCS问题时间复杂度为O(p*q),但是此题p*q高达250*250=62500,有些太慢 所以把问题转化为LIS,时间复杂度变为(n*logn) 先把A串的每个字符的位置记录一下, 然后把B串的元素转换成A串的位置,相当于求LIS。 #include<bits/stdc++.h> usin...

weixin_43568895的博客 222

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

[DP_LIS] UVA10635

神奇的LCS和LIS的关系

Aria461863631的博客 411

uva 10635 Prince and Princess(DP)

uva 10635 Prince and Princess(DP) In an n x n chessboard, Prince and Princess plays a game. The squares in the chessboard are numbered 1, 2, 3 ... n*n, as shown below: Prince stands i

总有那么一群人喜欢盯着我的博客看,估计这是他们见过最长的博客名,我必须得告诉他们博客名最长可以写多长 714

UVA 10635 Prince and Princess(LIS)

又是训练指南上的一道经典题~~ http://uva.onlinejudge.org/external/106/10635.html 题意:有两个长度分别为p+1和q+1的序列,每个序列各个元素互不相同,且都是1~n^2的整数。求俩序列的LCS。 分析:LCS的O(pq)复杂度显然太慢。注意到“每个序列各个元素互不相同,且都是1~n^2的整数”,所以有个巧妙的转换,把A中的元素...

diaoqisi8354的博客 181

UVA-10635 Prince and Princess 最长公共子序列转最长上升子序列

https://vjudge.net/problem/UVA-10635 题意:n个样例, 给你长度分别为p+1,q+1的两个字符串,每个序列中各个元素都不一样,且为整数,数值大小小于n^2。求最长公共子序列 数据范围: T<=10, 2<=n<=250, 1<=p<=q<=n^2. 假如使用传统的dp解法,先开一个二维数组,你会发现,这个数组甚至开...

forOnward的博客 286

uva10635Prince and Princess(LIS)

题目:uva10635Prince and Princess(LIS) 题目大意:求最长相同公共子序列。 解题思路:因为数据很大,62500不能用之前的那种求LIS的做法来做。可以将第一个路线的整数重新排个序(0...p),然后之后的那个路线因为要找相同的最长子序列,所以要将它原来的数字映射成第一条路线新的数字。这样之后就只需要找第二个路线的LIS就可以了。  nlog(n)

1676

Prince and Princess UVA - 10635(LCS转换LIS)

Prince and Princess UVA - 10635题意:给出两个数串, 求出最长公共子序列(LCS);直接求LCS, O(n^2)的复杂度, 超时;题目说明, 数列中不会出现...

Sirius_han的博客 305

Prince and Princess UVA - 10635 王子和公主 nlogn的LIS

题目链接 例题27 王子和公主(Prince and Princess, UVa 10635)有两个长度分别为p+1和q+1的序列, 每个序列中的各个元素互不相同, 且都是1~n2之间的整数。 两个序列的第一个元素均为1。 求出A和B的最长公共子序列长度。 【输入格式】 输入的第一行为数据组数T(T≤10) 。 每组数据包含3行, 第一行为3116个整数n, p, q(2≤n≤250, 1≤...

Nicolas的博客 548

UVA 10635 Prince and Princess

UVA_10635     这个题目显然用n^2的最长公共子序列的算法会超时,后来看了别人的解题报告发现,原来最长公共子序列可以转化成最长上升子序列的问题,然后用最长上升子序列的nlogn的算法求解。     但这个方法要求任意一个字符在两序列中出现的频率都要比较低,因为转化成最长上升子序列的算法的最坏复杂度是n^2log(n^2)。而这个题目恰好每个数字最多只在两序列中各出现一次,所以就可以...

weixin_34318956的博客 80

UVa10635--Prince and Princess(LCS转LIS)

题目:UVa10635 分析:由于每个序列中的所有元素各不相同,所以可以先将任意一个序列的元素,修改为该序列中当前元素在另一个序列中对应元素的下标。没有匹配的就设为0或舍弃不要。这样就将LCS问题转化为了LIS,时间复杂度就降下来了。 代码: #include #include #include #include using namespace std; const

Apple.Daily的专栏 437

UVA 10635 王子和公主

UVA10635 【题目描述】:王子和公主 一个王子和公主在n*n的格子中行走,这些格子是有1....n^2的编号的。现在给定p+1个数,再给定q+1个数,公主和王子可以选择其中某些格子行走,求他们最多能走几个相同的格子。 【算法分析】: 这道题读题是关键,然后我们发现需要的是公共的格子,又需要是这个步数最大化,可以想到最长公共子序列的模...

weixin_30536513的博客 170
上一篇: uva242, 完全背包||记忆化搜索,(类似广工校赛的一道题)
下一篇: uva10891
sega_handsome
博客等级 码龄10年 7粉丝 164原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值