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

打卡信奥刷题(3442)用C++实现信奥题 P10388 [蓝桥杯 2024 省 A] 团建

P10388 [蓝桥杯 2024 省 A] 团建

题目描述

小蓝正在和朋友们团建,有一个游戏项目需要两人合作,两个人分别拿到一棵大小为nnnmmm的树,树上的每个结点上有一个正整数权值。
两个人需要从各自树的根结点111出发走向某个叶结点,从根到这个叶结点的路径上经过的所有结点上的权值构成了一个正整数序列,两人的序列的最长公共前缀即为他们的得分。给出两棵树,请计算两个人最多的得分是多少。

输入格式

输入的第一行包含两个正整数 $n, m $,用一个空格分隔。
第二行包含nnn个正整数 $c_1, c_2,\cdots , c_n $,相邻整数之间使用一个空格分隔,其中cic_ici表示第一棵树结点iii上的权值。
第三行包含mmm个正整数d1,d2,⋯ ,dmd_1, d_2,\cdots, d_md1,d2,,dm,相邻整数之间使用一个空格分隔,其中did_idi表示第二棵树结点iii上的权值。
接下来n−1n - 1n1行,每行包含两个正整数ui,viu_i , v_iui,vi表示第一棵树中包含一条uiu_iui
viv_ivi之间的边。
接下来m−1m - 1m1行,每行包含两个正整数pi,qip_i , q_ipi,qi表示第二棵树中包含一条pip_ipi
qiq_iqi之间的边。

输出格式

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

输入输出样例 #1

输入 #1

2 2 10 20 10 30 1 2 2 1

输出 #1

1

输入输出样例 #2

输入 #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

说明/提示

对于20%20\%20%的评测用例,$1 ≤ n, m ≤ 500 $;
对于所有评测用例,$1 ≤ n, m ≤ 2 × 10^5,1 ≤ c_i
, d_i ≤ 10^8 ,1 ≤ u_i
, v_i ≤ n ,
1 ≤ p_i
, q_i ≤ m $,对于任意结点,其儿子结点的权重互不相同。

C++实现

#include<bits/stdc++.h>#defineintlonglongusingnamespacestd;intc[200005],d[200005];unordered_map<int,int>trie[200005];vector<int>G[200005],T[200005];voidinit(intx=1,intfa=0){for(autov:G[x]){if(v==fa)continue;trie[x][c[v]]=v;init(v,x);}}intsolve(intx=1,intfa=0,intget=1){intans=0;for(autov:T[x]){if(v==fa)continue;if(trie[get][d[v]])ans=max(ans,solve(v,x,trie[get][d[v]])+1);}returnans;}signedmain(){ios::sync_with_stdio(0);cin.tie(0),cout.tie(0);intn,m,u,v;cin>>n>>m;for(inti=1;i<=n;i++)cin>>c[i];for(inti=1;i<=m;i++)cin>>d[i];for(inti=1;i<n;i++){cin>>u>>v;G[u].push_back(v);G[v].push_back(u);}for(inti=1;i<m;i++){cin>>u>>v;T[u].push_back(v);T[v].push_back(u);}init();if(c[1]==d[1])cout<<solve()+1;elsecout<<0;return0;}

后续

接下来我会不断用C++来实现信奥比赛中的算法题、GESP考级编程题实现、白名单赛事考题实现,记录日常的编程生活、比赛心得,感兴趣的请关注,我后续将继续分享相关内容

http://www.jsqmd.com/news/1181143/

相关文章:

  • 从自相关函数看噪声本质:平稳与非平稳噪声的实战识别与处理
  • Wand-Enhancer终极指南:5分钟免费解锁WeMod专业版功能
  • 数据集扩充增广(分割标签同步) 适用于yolov5到v12的分割数据集和obb数据集,支持同步更新标签(txt) 使用labelme标注的多边形数据集,支持同步更新 (1)
  • 大模型提示词工程深度解析:从原理到最佳实践
  • 桌面图标和文件全部消失如何找回?从显示设置排查到注册表修复的完整步骤
  • 边缘推理算子级融合策略实战:Conv+BN+ReLU 三合一在 ARM NEON 上的手写实现与性能分析
  • openEuler Intel内核:如何为下一代Intel平台构建强大的操作系统基础
  • CTF-SHOW 题解(更新中)
  • Expo社交登录终极解密:如何用一行代码统一16个平台的用户认证
  • 时光回溯:用Python重建你的QQ空间数字记忆档案
  • 免费开源音频转换神器:fre:ac完整使用指南
  • 在Apple Silicon Mac上轻松运行Windows应用:Whisky完全指南
  • 重磅发布!合肥黄金回收公安备案门店完整名录出炉,持证实体店杜绝虚标压价,实名交易安全变现 - 奢侈品交易观察员
  • macOS 10.15 虚拟机性能调优:VMware 15.5.0 下内存、CPU与3D图形3项关键配置
  • 3分钟解锁WeMod专业版:Wand-Enhancer本地破解指南
  • 计算机视觉算法工程师面试核心考点精讲
  • WeMod专业版终极破解指南:Wand-Enhancer完整使用手册
  • Hackers发布流程完全指南:从TestFlight到App Store的完整流程
  • 如何免费解锁Wand专业版:Wand-Enhancer完整使用指南
  • Spotify免费听,开源音乐神器
  • 终极指南:如何用League Akari实现英雄联盟游戏自动化
  • 海康威视球机摄像头多目标检测、跟踪与跨镜头轨迹关联技术解析
  • TLA2518与PIC18LF46K22构建高精度多通道ADC系统
  • AntiDupl.NET:智能图片去重工具,让你的数字资产焕然一新
  • 【软件工程】需求工程:需求规格说明与需求验证
  • 小白程序员快速入门:医疗大模型的多模态融合奥秘与实践
  • 推理引擎图优化 Pass 详细解析:常量折叠、死代码消除与公共子表达式消除的注册流程
  • 终极免费解锁WeMod Pro功能:Wand-Enhancer完整使用指南
  • SRADSGAN:基于分层密集采样与链式训练的遥感图像大倍数超分辨率实战解析
  • 法律AI时代生存手册:ChatGPT辅助咨询的5类不可替代场景 vs 4类绝对禁止场景(附司法部2024年《AI法律服务合规指引》逐条对照表)