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

优秀服装网站设计潼南网站建设

优秀服装网站设计,潼南网站建设,厦门做网站优化公司,深圳logo设计公司推荐问题描述 小蓝正在和朋友们团建,有一个游戏项目需要两人合作,两个人分别拿到一棵大小为 nn 和 mm 的树,树上的每个结点上有一个正整数权值。 两个人需要从各自树的根结点 1 出发走向某个叶结点,从根到这个叶结点的路径上经过的所…

问题描述

小蓝正在和朋友们团建,有一个游戏项目需要两人合作,两个人分别拿到一棵大小为 nn 和 mm 的树,树上的每个结点上有一个正整数权值。

两个人需要从各自树的根结点 1 出发走向某个叶结点,从根到这个叶结点的路径上经过的所有结点上的权值构成了一个正整数序列,两人的序列的最长公共前缀即为他们的得分。给出两棵树,请计算两个人最多的得分是多少。

输入格式

输入的第一行包含两个正整数 n,mn,m,用一个空格分隔。

第二行包含 nn 个正整数 c1,c2,⋯ ,cnc1​,c2​,⋯,cn​,相邻整数之间使用一个空格分隔, 其中 cici​ 表示第一棵树结点 ii 上的权值。

第三行包含 mm 个正整数 d1,d2,⋯ ,dmd1​,d2​,⋯,dm​,相邻整数之间使用一个空格分隔,其中 didi​ 表示第二棵树结点 ii 上的权值。

接下来 n−1n−1 行,每行包含两个正整数 ui,viui​,vi​ 表示第一棵树中包含一条 uiui​ 和 vivi​ 之间的边。

接下来 m−1m−1 行,每行包含两个正整数 pi,qipi​,qi​ 表示第二棵树中包含一条 pipi​ 和 qiqi​ 之间的边。

输出格式

输出一行包含一个整数表示答案。

样例输入1

2 2
10 20
10 30
1 2
2 1

样例输出1

1

样例输入2

5 4
10 20 30 40 50
10 40 20 30
1 2
1 3
2 4
3 5
1 2
1 3
3 4

样例输出2

2

样例说明

在第一个样例中,两个序列可以为 [10,20],[10,30][10,20],[10,30] ,最大前缀为 11;

在第二个样例中,两个序列可以为 [10,20,40],[10,20,30][10,20,40],[10,20,30] ,最大前缀为 22。

评测用例规模与约定

对于 20%20% 的评测用例, 1≤n,m≤5001≤n,m≤500 ;

对于所有评测用例, 1≤n,m≤2×105,1≤ci,di≤108,1≤ui,vi≤n1≤n,m≤2×105,1≤ci​,di​≤108,1≤ui​,vi​≤n , 1≤pi,qi≤m1≤pi​,qi​≤m ,对于任意结点,其儿子结点的权重互不相同。

运行限制

语言最大运行时间最大运行内存
C++3s256M
C3s256M
Java3s512M
Python310s1024M
PyPy33s1024M
Go5s512M
JavaScript5s512M

总通过次数: 412  |  总提交次数: 536  |  通过率: 76.9%

难度: 中等   标签: 哈希表, 省赛, DFS, 2024

#include <bits/stdc++.h>
using namespace std;
const int N = 2e5 + 10;
int n, m;
map<int, vector<int>> t1, t2;
int a[N], b[N];
vector<int> res;
int ans;
void dfs(int x, int y, int fx, int fy, int cnt)
{if(a[x] != b[y])    return;
//    res.push_back(a[x]);ans = max(ans, cnt);for(int i = 0; i < t1[x].size(); i++){if(t1[x][i] == fx ) continue;for(int j = 0; j < t2[y].size(); j++){if(t2[y][j]  == fy )     continue;
//            cout << t1[x][i] << " " << t2[y][j] << endl;dfs(t1[x][i], t2[y][j], x, y, cnt + 1);}}
}
int main()
{cin >> n >> m;for(int i = 1; i <= n; i++) cin >> a[i];for(int i = 1; i <= m; i++) cin >> b[i];while(--n){int x, y;cin >> x >> y;t1[x].push_back(y);t1[y].push_back(x);}while(--m){int x, y;cin >> x >> y;t2[x].push_back(y);t2[y].push_back(x);}dfs(1, 1, -1, -1, 1);cout << ans;
//    for(auto &it : res)
//    	cout << it << endl;
}

http://www.yayakq.cn/news/436842/

相关文章:

  • 国内扁平化网站欣赏wordpress插件jetpack
  • 企业网站建设专业精准一 鸣远科技wordpress七牛云使用
  • 专注新乡网站建设画册设计内容
  • 网站优化报告网站建设案例收费情况
  • 重庆招标建设信息网站浙江建筑信息网站
  • 深圳关键词推广整站优化网站产品关键词导出
  • 传奇服务器如何做网站国内建站平台有哪些
  • 墨刀做网站网页wordpress安装过程
  • 医疗网站昆山网站建设哪家比较好
  • 便捷网站建设公司企业邮箱登录9951026net
  • 洛阳网站建设哪家好多图片网站优化
  • 北京市建设工程交易中心网站163企业邮箱免费
  • 如何做自己的项目网站网站的劣势
  • 国字型布局网站温州网站快速排名
  • 威海自适应网站建设wordpress连接mysql8
  • 免费申请httq网站?企业管理咨询服务内容
  • 牛皮纸 东莞网站建设制图软件免费
  • 建设行业信息管理系统网站得力企业网站建设
  • ps做网站如何网站设计psd模板
  • 网站建设技术大赛试题注册公司
  • 网站建设现在还有没有市场百度认证平台
  • 桐乡网站制作中山建网站报价
  • 快闪视频制作软件appseo个人博客
  • 织梦网站分享插件漳州网站建设优化
  • 中英文网站案例wordpress备份图文文章
  • 海外海外网站建设服务器租用云服务器
  • 搭建网站手机软件大连建设厅网站
  • thinkphp企业网站源码wordpress页面模板是哪个文件
  • 做照片的网站有哪些软件湖州市住房和城乡建设局官方网站
  • 做电影网站什么系统好ps网页制作步骤图文