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

交友最好的网站建设招商团队外包

交友最好的网站建设,招商团队外包,如何做二维码跳转到网站,安卓软件制作网站问题描述 小蓝正在和朋友们团建,有一个游戏项目需要两人合作,两个人分别拿到一棵大小为 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/946438/

相关文章:

  • vue开发视频网站建房子找哪个网站设计
  • 建设旅游网站财务分析企业网站建设套餐 网络服务
  • 代做课件的网站angularjs开发网站模板
  • 如何自己学做网站住房和城乡建设部政务服务平台
  • 怎么推销自己的网站wordpress显示一个分类列表名称
  • 自己做一个网站的成本wordpress 移动端 提速
  • 网站建设创意公司腾讯云服务器可以做传奇网站吗
  • 嘉兴网站网站建设网站建设与运营 好考吗
  • 深圳西乡网站建设电子商务网页与网站设计
  • iis7搭建asp网站微信做网站推广赚钱吗
  • 无锡网站定制公司南京软件开发公司有哪些
  • wordpress成功的网站php与python做网站
  • 外汇返佣网站建设图书馆网站建设总结
  • 网站建设昆明哪家好优秀网站网页设计
  • 医院网站建设套餐方案电子印章在线生成
  • 做网站生成二维码上传本地wordpress至网络服务器
  • 素材网站pinterest东莞网站建设都用哪个好
  • 湛江网站白城市住房建设局网站
  • 网站建设kuhugzwordpress访问特别慢
  • 做企业网站进行推广要多少钱宝塔搭建本地网站
  • 网站建设怎么加音乐网站建设实验原理
  • 学室内设计网站网站域名 文件夹
  • 上海网站建设方案策划一家做特卖的网站手机版
  • 成都培训网站建设贵阳做个网站需要多少钱
  • 建电影网站phpwind做的网站
  • 套餐型网站建设合同公司网页设计注意事项
  • 唐山微信小程序开发公司连云港网站优化
  • 内江市网站建设培训移动免费网站建设
  • 网站开发公司团队优势广州比较大的外贸公司
  • 十大网站建设公司app产品网站模板