poj 1692 Crossed Matchings DP

用Arduino和RC522模块DIY一个NFC门禁卡复制器(附完整代码) 本文详细介绍了如何利用Arduino和RC522模块DIY一个NFC门禁卡复制器,包括硬件连接、软件配置、数据读写技术及完整代码实现。通过本教程,电子爱好者可以深入了解NFC技术,并构建自己的智能门禁系统,适用于家庭安全、办公场所等多种场景。 阅读详情

http://poj.org/problem?id=1692

题意:给两串数字,让你在两串数字之间连线,连线的要求是,必须是相等的两个数字之间才能连线,每个数字最多只能连一条线,也可以不连,每条线必须 有且只有一条其他的线与他相交,而且相交的两条线连的数字不能使一样的,问最多能连几条线。

思路:用dp[i][j]来表示第一串数字的前i个和第二串数字的前j个数字间能连的最多的线的条数,开始时dp[i][j]=max(dp[i-1][j],dp[i][j-1]),然后我们在第一串数字的前i个中找与第二串中的第j个数字相同的数字,如果有多个,根据谈心的思想,可是知道我们应该取最后一个,假设是第x个数,相同的,再在第二个数字串的前j个数字中找和第一串的第i个数字相同的数字,取最后一个,假设是第y个数,那么可以在i和y,j和x之间连线,则dp[i][j]=max(dp[i][j],dp[x-1][y-1]+2)。最后的dp[n][m]就是答案。

这题的一个优化就是我们把每个串中的前i个数字中,最后一个x出现的位置记录下来,以后就可以直接找到,不用每次都查找,这样算法的复杂度就变成了n^2了。具体的细节看代码好了。


#include<cstdio>
#include<cstring>
#include<iostream>
using namespace std;

int a[110],b[110];
int last1[110][110],last2[110][110];
int dp[110][110];

int main()
{
    int cas;
    cin>>cas;
    while(cas--){
        memset(dp,0,sizeof(dp));
        memset(last1,0,sizeof(last1));
        memset(last2,0,sizeof(last2));

        int n,m;
        cin>>n>>m;
        for(int i=1;i<=n;i++)
            scanf("%d",&a[i]);
        for(int i=1;i<=m;i++)
            scanf("%d",&b[i]);

        for(int i=1;i<=n;i++)
            for(int j=0;j<=100;j++){
                if(a[i]==j)
                    last1[i][j]=i;
                else last1[i][j]=last1[i-1][j];
            }
        for(int i=1;i<=m;i++)
            for(int j=0;j<=100;j++){
                if(b[i]==j)
                    last2[i][j]=i;
                else last2[i][j]=last2[i-1][j];
            }

        for(int i=1;i<=n;i++){
            for(int j=1;j<=m;j++){
                dp[i][j]=max(dp[i-1][j],dp[i][j-1]);
                if(a[i]==b[j]) continue;
                int tem1=last1[i][b[j]],tem2=last2[j][a[i]];
                if(tem1!=0&&tem2!=0)
                    dp[i][j]=max(dp[i][j],dp[tem1-1][tem2-1]+2);
            }
        }

        cout<<dp[n][m]<<endl;
    }
    return 0;
}


R语言绘图中文显示全攻略:从乱码到完美适配 本文详细解析了R语言绘图中的中文显示问题,从乱码根源到完美适配方案。通过showtext、sysfonts和extrafont等工具包的应用,提供跨平台的中文显示解决方案,涵盖ggplot2图表、PDF/PNG输出及Shiny应用等场景,助力用户高效实现R绘图中文完美呈现。 阅读详情

相关推荐

安卓模拟器绕过检测全解析:雷电、MuMu、蓝叠、逍遥、夜神与WSA完整指南

随着手机游戏和应用的普及,越来越多的用户选择在PC上通过模拟器来运行安卓应用。然而,许多应用和游戏为了防止作弊或出于安全考虑,会检测是否运行在模拟器环境中。本文将详细介绍各大主流模拟器的检测绕过方法,帮助用户在电脑上流畅体验各类安卓应用。1. 获取模拟器系统镜像2. 使用ROM厨房工具修改系统文件3. 替换模拟器的系统镜像雷电模拟器:适合游戏,推荐使用MAGISK + EdXposed方案MuMu模拟器:适合中度游戏,推荐太极框架蓝叠模拟器:适合国际应用,推荐MAGISK方案逍遥模拟器。

专注技术分享 3万+

poj 1692

传送门:http://poj.org/problem?id=1692 题意:给你两行数,问你最大匹配数是多少. 限制条件:1.数字相同 2.匹配之间只能交叉一次,且数字不同. 思路:dp f[i][j]表示用a用前i个数,b用前j个数的值 (待填坑) 代码:#include <cstdio> #include <cmath> #include <iostream> #include <

chen20000804的博客 678

机器学习第四个算法ANN(人工神经网络)

我是在14年9月刚读研的时候听到一个说法叫“类人脑算法”很火热,之后搞了很长一段时间相关的蓄水池算法等,但大都没有摸到门路而中途放弃了。现今看来,还是缺少一些知识背景,也不善于在网络上学习,随时间推移,也逐渐明白这是机器学习的一小部分,并且逐渐发展的名称叫做人工神经网络的算法,如果网络层较多,又会有个别名,叫做深度学习。其中个用到的最著名的算法是背向传输算法(backpropagation),而这个

legalhighhigh的博客 1万+

POJ1692 Crossed Matchings DP

POJ1692 Crossed Matchings DPDescription给出两列数,要求对上下相同的数进行连线,要求 1.一个数最多连一条线。 2.一条线必须且仅与一条线相交。 求最多可以连出几条线。题解这一题可以用LIS的思想来建立状态转移方程。 令f[i][j]表示第一行到i个数,第二行到j个数的答案。 f[i][j]=max(f[i][j−1],f[i−1][j])f[i][j

YJSheep 747

百度API实现人流量数量检测(动态)

百度的这个API还挺好用的,对与不追求高精度的人来说非常适用,结合他官方给的文档,极易上手。 需要做的就是通过API Key和Secret Key获取的access_token。 然后稍微修改下代码就行,但是他给的代码并没有直接从摄像头获取视频,而是读取一个文件夹,那么就需要自己先对摄像头的输出视频进行处理。 识别结果如下,"person_num"是当前画面的人数,in是累计进入的人数,out是累计走出去的人数。 他这个有个缺点就是返回值里边并没有实时返回in和out的值,而是都是0,但是这个图片上有,图片

qq_42479987的博客 3380

【unity实战】使用unity的Navigation+LineRenderer实现一个3D人物寻路提前指示预测移动轨迹的效果,并可以适配不同的地形

本文介绍了在Unity中使用Navigation导航系统和LineRenderer实现3D人物寻路轨迹预测效果的方法。通过NavMesh.CalculatePath计算路径点,结合Physics.Raycast进行地面点投射,将路径点赋予LineRenderer渲染出移动轨迹。关键点包括:1)利用NavMesh.CalculatePath计算两点间可行走路径;2)通过射线检测获取地面点提高路径适配性;3)使用协程定期更新路径绘制。文章还提供了完整代码实现,并说明需要将地面图层设置为Ground并进行导航网格

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 458

POJ 1692 Crossed Matchings【DP】

Description There are two rows of positive integer numbers. We can draw one line segment between any two equal numbers, with values r, if one of them is located in the first row and the other on...

dianxuanzhi1019的博客 141

使用Simulink进行基于IIR滤波器的设计与稳定性分析仿真

IIR滤波器的稳定性与其系统函数的极点位置密切相关。如果所有极点都位于Z平面的单位圆内,则该滤波器是稳定的;否则,滤波器将是不稳定的。在设计IIR滤波器时,确保其稳定性对于避免输出信号发散至关重要。明确你的系统需求,比如输入信号类型(如正弦波)、采样率、IIR滤波器的设计参数(如滤波器类型、阶数、截止频率等)。假设我们需要设计一个低通IIR滤波器,用来去除高于500Hz的所有频率成分,保留低于500Hz的信号成分。采样率为8kHz。

xiaoheshang_123的博客 150

POJ 1692 Crossed Matchings G++ dp 背

#include <iostream> #include <cstdio> #include <cstring> #include <algorithm> using namespace std; //英语 看博友分析 抄博友程序 dp 背 int dp[105][105]; int a[105]; int b[105]; int main() { int T; scanf("%d",&T); whi...

woniupengpeng的专栏 147

模型泛化能力提升:领域自适应与迁移学习

模型泛化能力提升:领域自适应与迁移学习​ ,人工智能,计算机视觉,大模型,AI,在机器学习和深度学习的应用中,模型的泛化能力是一个关键问题。泛化能力指的是模型在新的、未见过的数据上表现良好的能力。然而,实际情况中,训练数据和测试数据往往来自不同的领域,存在分布差异,这会导致模型的泛化能力下降。领域自适应与迁移学习正是为了解决这一问题而发展起来的重要技术。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 3万+

Autosar软件组件分析及ARXML文件分析

Autosar软件组件分析及ARXML文件分析

专注汽车软件开发、AutoSAR、车载以太网、SOA、EE架构。 3601

poj 1692 Crossed Matchings(DP)

Crossed Matchings Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 2717 Accepted: 1763 Description There are two rows of positive integer numbers. We ca

君只见独不见的专栏 1022

6、基于集成学习技术的边坡稳定性预测及滑坡易发性研究

本研究基于集成学习技术对云阳县的边坡稳定性及滑坡易发性进行预测分析。通过比较SVM、RF、XGBoost和LR四种模型,发现集成学习模型在准确率和少数类识别方面表现更优。特征重要性分析表明剖面形状是影响边坡稳定性的关键因素。同时,引入基于定性分析的分区建模方法,构建父模型与子区域模型,提升了滑坡易发性制图的精度。研究成果为地质灾害的预防与管理提供了科学依据和技术支持。

peach的博客 126

POJ 1692 Crossed Matchings(DP)

题意  有两行数a[n1] b[n2]   分别有n1 n2个数   当第一行一个数和第二行一个数相等时   他们就可以连起来   每个数只能连一个   求最有多少条线使得每条都至少有一条和它相交 令d[i][j]表示  a的前i个数和j的前j个数最多可以连接多少条 当a[i]==b[j]时  将们连起来是肯定不与其它线相交的  所以d[i][j]=max(d[i-1][j],d[i][j-1

Deng's site \# 676

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

poj1692 Crossed Matchings(dp,最长公共子序列变形,好题)

Crossed Matchings Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 2838   Accepted: 1840 Description There are two rows of positive integer numbers. We can dr

fouzhe的博客 629

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

POJ 1692 Crossed Matchings(DP)

题意:两个序列,要选出交叉线,使得线的两点数字要相同,并且两条线两边的数字不能相同,问最多能弄出几组 思路:类似LCM,dp[i][j]表示两个i, j的方案,然后如果a[i] != b[j], 那么从i和j分别往前找到一个相同dp[i][j] = dp[k1][k2] + 2,剩下的转移就是dp[i][j] = max(dp[i - 1][j], dp[i][j - 1]) 代码: #in

Remilia's 667

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

POJ1692 Crossed Matchings(dp)

Crossed Matchings Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 2938   Accepted: 1910 Description There are two rows of positive integer numbers. We can

H煊的博客 715

POJ 1692 Crossed Matchings(dp).

~~~~ 题意:给出两行数字序列,求上下匹配的最多组数是多少. 匹配规则: 1.匹配对的数字必须相同。 2.每个匹配必须有且只能有一个匹配与之相交叉,且相交叉的两组匹配数字必须不同。 3.一个数最多只能匹配一次。 最长公共子序列的改编,令f[i][j]表示第一个序列的前i个数字和第二个序列的前j个数字的匹配的最优值。 状态转移:f[i][j]=max(f[p-1][q-1]+2,

ACM之路,在希望的田野上。 1074

POJ - 1692 Crossed Matchings(DP)

解题思路:慢慢练,相信以后也可以自己想到递推式!!用dp[i][j]代表第一行第1~i个和第二行第1~j个之间的最多连接数。先不考虑将a[i],b[j]连线的情况,肯定有dp[i][j]=max(dp[i][j-1],max(dp[i-1][j],dp[i-1][j-1]));然后再考虑连线的情况。如果a[i]==a[j],那么将a[i]和b[j]连线是毫无意义的,因为不可能产生相交,所以要考虑不相等的情况,这个时候应该怎么办呢。这里用到了贪心的思想,将第二行与a[i]最近相等的相连,和第一行与b[j]最近

LP_Cong 495

POJ 1692 Crossed Matchings (DP) #by Plato

http://poj.org/problem?id=1692 题意:两个集合分别有N1、N2个元素,求最大匹配交叉对的数目。(匹配交叉对:a和b中有两个元素相等,称其为value-match;现在是要有两个va-match,vb-match,并且他们相交,va!=vb) Idea: 类似LCS; f[i] = MAX{f[i-1][j-1] ,f[i][j-1],f[i-1][j] }

XDU_Truth的专栏 634

POJ 1692 Crossed Matchings(DP)

Description There are two rows of positive integer numbers. We can draw one line segment between any two equal numbers, with values r, if one of them is located in the first row and the...

weixin_30412013的博客 72

POJ1692 Crossed Matchings

POJ1692 Crossed Matchings

Kanosword的博客 768

POJ 1692 Crossed Matchings

POJ 1692 Crossed Matchingsdp 传送门:HustOJ 传送门:POJ 题意给出两行数,求上下匹配的最多组数是多少。 匹配规则 1,匹配对的数字必须相同 2.每个匹配必须有且只能有一个匹配与之相交叉,且相交叉的两组匹配数字必须不同 2,一个数最多只能匹配一次 分析用dp[i][j]表示第一行取i个数,第二行取j个数字的最多匹配项 对于某个dp

P.H.S 303
上一篇: poj 1682 Clans on the Three Gorges dp(好题)
下一篇: poj 2142 The Balance 扩展欧几里得
ACMer_浩
博客等级 码龄12年 0粉丝 26原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值