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

蓝桥杯真题0团建dfs+哈希表/邻接表

dfs+邻接表储存或者哈希表的运用,考察我们对数据的存储

 

 

本题核心就是在求从根节点开始的两棵树相同的最长序列,首先确定用dfs进行深搜,对于节点的形式可以用邻接表,邻接矩阵,哈希表来进行存储数据。下面看代码

 邻接表

#include <bits/stdc++.h>
using namespace std;
int n,m;
int mp[200005];
int np[200005];
vector<int> v1[200005];
vector<int> v2[200005];
int cont;//记录最长的相同序列
void dfs(int x,int y,int sum)
{
  if(np[x]!=mp[y]) return;//如果序列开始不同直接return
  cont=max(cont,sum+1);
  //开始遍历相邻的节点
  for(auto& i:v1[x])
  {
    for(auto& j:v2[y])
    {
      dfs(i,j,sum+1);
    }
  }
}
int main()
{
  cin>>n>>m;
  for(int i=0;i<n;i++)
  {
    cin>>np[i];
  }
  for(int j=0;j<m;j++)
  {
    cin>>mp[j];
  }
  int l,r;
  for(int i=0;i<n-1;i++)
  {
    cin>>l>>r;
    v1[l].push_back(r);
  }
  for(int i=0;i<m-1;i++)
  {
    cin>>l>>r;
    //邻接表储存
    v2[l].push_back(r);
  }
  dfs(1,1,0);
  cout<<cont;
  return 0;
}

map 

#include <bits/stdc++.h>
#define N 200005
using namespace std;
map<int,vector<int>> m1,m2;
int n,m,a[N],b[N],ans,u,v;
void dfs(int x,int y,int count)
{
  if(a[x]!=b[y])return;

  ans=max(ans,count+1);//记录最长相同序列长度

  for(int i=0;i<m1[x].size();i++)
  {
   for(int j=0;j<m2[y].size();j++)
    {
       int a1=m1[x][i];int b1=m2[y][j];
    }
       dfs(a1,b1,count+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];
  for(int i=1;i<=n-1;i++)
  {
    cin>>u>>v;m1[u].push_back(v);
  }
  for(int i=1;i<=m-1;i++)
  {
    cin>>u>>v;m2[u].push_back(v);
  }
    dfs(1,1,0);
cout<<ans;
}

相关文章:

  • 统计登录系统10秒内连续登录失败超过3次的用户
  • 看 MySQL InnoDB 和 BoltDB 如何写磁盘
  • Vivado IP核之定点数累加Accumulator使用说明
  • vscode接入DeepSeek 免费送2000 万 Tokens 解决DeepSeek无法充值问题
  • 向量数据库的选择与应用:AI工程实践
  • Android Retrofit 框架注解定义与解析模块深度剖析(一)
  • HarmonyOS NEXT开发实战:DevEco AI辅助编程工具(CodeGenie)的使用
  • requests中post中data=None, json=None两个参数区别
  • Git 的详细介绍及用法
  • JESD204B协议及IP仿真
  • 什么是进程线程
  • ubuntu 和 RV1126 交叉编译Mosqutiio-1.6.9
  • linux批量使用多个用户名登录脚本、为了给主机增加一个指定用户名的登录记录、无需root密码的主机切换到root方式
  • 【玩转全栈】---- Pinia 组件状态管理器
  • 卷积神经网络与计算机视觉:从数学基础到实战应用
  • 沉浸式CSS学习路径
  • 【贪心算法3】
  • git设置本地仓库和远程仓库
  • 解决 word 2016 粘贴图片老是乱飘的问题
  • 十分钟用DeepSeek v3快速搭建企业级本地私有知识库(保姆级教程),AI终于私有化了!
  • wordpress导航站模版/防城港网站seo
  • 活动策划网站有哪些/西安网站seo排名优化
  • 写作网站5妙不写就删除/商旅平台app下载
  • 做ptt网站/成都全网营销推广
  • 沈阳世纪兴网站建设/网站排名优化教程
  • 做弹幕网站/今日油价92汽油价格表