当前位置: 首页 > 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.yidumall.com/news/39434.html

相关文章:

  • 扶沟县网站开发交换神器
  • 青岛开发区 网站建设sem是什么基团
  • 中国人做英文网站外贸网站有哪些
  • 社保个人网站入口苏州疫情最新消息
  • 做临时工看哪个网站seo专业术语
  • 做网站好公司哪家好360手机优化大师下载
  • 杭州的设计网站建设好的在线crm系统
  • 手机怎么做自己的网站推广软件app
  • 服装技术支持东莞网站建设哪些平台可以免费发布产品
  • 高端大气传媒公司名字潍坊seo培训
  • 贵州省安顺市网站建设有没有专门帮人推广的公司
  • 怎么免费上传网页网站视频外链平台
  • 十大品牌排行榜前十名优化网络软件
  • 做网站的靠什么赚钱临沂森佳木业有限公司
  • 摄影网站难做吗上海搜索引擎优化1
  • 深圳的设计网站公司西安网站seo厂家
  • 做网站要服务器和什么谷歌推广外贸建站
  • 东莞网络公司网站建设专业seo网络推广
  • wordpress主题列表封面徐州seo推广
  • wamp环境下做网站国际军事最新消息今天
  • 怎样制作静态网站推广关键词排名方法
  • 动画设计属于什么类专业蚌埠seo外包
  • 制作网站的手机软件网页制作软件手机版
  • 建设工程公司 网站网络营销课程去哪里学
  • 建设购物网站百度网盘客服电话
  • 外贸网站contact百度网页版浏览器
  • 电子元器件网站建设长沙seo排名扣费
  • 网站的所有权辽宁seo推广
  • 创业做社交网站有哪些怎么制作一个简单的网页
  • 建设银行网站怎么短信转账百度打开百度搜索