[第1章 1.4t6] 对称二叉树

71 字
1 分钟
[第1章 1.4t6] 对称二叉树
#include<bits/stdc++.h>
#define endl '\n'
using namespace std;
typedef long long ll;
typedef pair<ll,ll> pll;
vector<ll> v;
vector<ll> tree;
unordered_map<ll,pll> mp;
ll count(ll x){
if(x==-1)return 0;
ll l=mp[x].first;
ll r=mp[x].second;
tree[x]=count(l)+count(r)+1;
return tree[x];
}
bool mirror(ll x,ll y){
if(x==-1&&y==-1)return true;
if(x==-1||y==-1)return false;
if(v[x]!=v[y])return false;
return mirror(mp[x].first,mp[y].second)&&mirror(mp[x].second,mp[y].first);
}
int main(){
ios::sync_with_stdio(false);cin.tie(0);
ll n;
cin>>n;
tree.resize(n+1);
v.resize(n+1);
for(ll i=1;i<=n;i++)cin>>v[i];
for(ll i=1;i<=n;i++){
cin>>mp[i].first>>mp[i].second;
}
ll ans=0;
count(1);
for(ll i=1;i<=n;i++){
if(mirror(i,i))ans=max(ans,tree[i]);
}
cout<<ans<<endl;
return 0;
}

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!

打赏
[第1章 1.4t6] 对称二叉树
https://hecloud.top/posts/14t6-对称二叉树/
作者
贺小云
发布于
2026-06-26
许可协议
CC BY-NC-SA 4.0
Profile Image of the Author
贺小云
一个热爱技术与折腾的博客,serverless起高楼,静态构建一键走,专注于CDN调优,2秒之内到德州。
公告
欢迎来到我的博客!这是一则示例公告。
分类
标签
碎碎念
站点统计
文章
46
分类
4
标签
0
总字数
23,903
运行时长
0
最后活动
0 天前
站点信息
构建平台
Local
博客版本
Firefly v6.16.5
文章许可
CC BY-NC-SA 4.0

当前页面没有目录