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

提高自己网站360做网站的

提高自己网站,360做网站的,做网站注册35类还是42,关于信阳的网页设计题目 P5018 对称二叉树 https://www.luogu.com.cn/problem/P5018 代码 思路:领接表存储二叉树,unordered_map存储各个节点对应的值。dfs遍历一下各个子树的大小个数,再写个递归判断是否是对称二叉树,如果是就更新全局答案。 #…

题目

P5018 对称二叉树
https://www.luogu.com.cn/problem/P5018

代码

思路:领接表存储二叉树,unordered_map存储各个节点对应的值。dfs遍历一下各个子树的大小个数,再写个递归判断是否是对称二叉树,如果是就更新全局答案。

#include <bits/stdc++.h>
#define endl '\n'using namespace std;const int N = 1e7 + 10;// 对于每个点k,开一个单链表,存储k所有可以走到的点。h[k]存储这个单链表的头结点(也就是邻接表)
int e[N], ne[N], h[N], st1[N], idx;unordered_map<int, int> mp;// 每个结点id对应的值
int max_n = 0; // 最大对称二叉树节点数量// 邻接表初始化
void init() {memset(h, -1, sizeof h);idx = 0;
}// 添加一条边a->b 
void add(int a, int b) {// 存下b的值,b下一个指向a的下一个节点,a的下一个节点指向be[idx] = b, ne[idx] = h[a], h[a] = idx ++;
}//p, q是指针
bool check(int p, int q) {if (mp[e[p]] == 0 && mp[e[q]] == 0) // 递归到结尾返回truereturn true;else if (mp[e[p]] == 0 || mp[e[q]] == 0) // 两个孩子有一个为空返回falsereturn false;else if (mp[e[p]] != mp[e[q]]) // 左孩子和右孩子不相同返回falsereturn false;return check(h[e[p]], ne[h[e[q]]]) && check(ne[h[e[p]]], h[e[q]]); // 左右两颗子树开始递归
}int dfs(int u) {if (mp[u] == 0) // 没有节点,返回0return 0;st1[u] = true;// st[u] 表示点u已经被遍历过int sum = 0;for (int i = h[u]; i != -1 ; i = ne[i]) {int j = e[i];if (st1[j]) continue;// 防止逆向dfsint s = dfs(j);sum += s; // 累加左孩子右孩子节点数}// 检查是不是对称二叉树,并更新答案if (check(h[u], ne[h[u]])) {max_n = max(max_n, sum + 1);}return sum + 1; // 返回当前节点的左孩子右孩子所有结点数+1
}int main() {cin.tie(0), cout.tie(0);init();mp[-1] = 0;int n;cin >> n;// 每个节点存下节点值for (int i = 1; i <= n; i ++) {int v;cin >> v;mp[i] = v;}// 插入左孩子右孩子for (int i = 1; i <= n; i ++) {int l, r;cin >> l >> r;add(i, r);add(i, l);}// 从1开始dfsdfs(1);cout << max_n << endl;return 0;
}
http://www.yayakq.cn/news/592678/

相关文章:

  • 山东济南网站制作国外优秀建筑设计网站
  • 网站description江阴网站开发招聘
  • 网站建设发言网站备案登录
  • 网站建设企业响应式网站模板网站建设保定
  • 免费做游戏网站网站内页布局的不同
  • 长景园林这个网站谁做的域名一级和二级的区别
  • 广告装饰 技术支持 东莞网站建设手机建网站步骤软件
  • 人事管理系统宝塔优化wordpress
  • 网站服务器租用的企业网站建设平台的功能
  • 下载类网站做多久才有流量网站建设企业最新报价
  • 网站开发成本核算及账务处理鹤壁seo推广
  • 电商平台网站开发链接网址怎么做
  • 佛山市建设局网站免费申请企业网站
  • 网站设计培训班老师宁波网站推广报价
  • 网站设计做哪些准备php 网站进入后台
  • 天河电子商务网站建设网站死链修复
  • 现在的网站开发框架如何做一个二维码相册
  • 专门做10s视频的网站wordpress建站教程阿里云
  • 高端品牌网站设计企业网站建设云南建设人力资源网站
  • 建设博客网站超炫网站模板
  • 用discuz做的大网站没有网站也可以做cpa
  • 找施工队伍去什么网站wordpress美化下载页面
  • 建站系统主要包括什么二次开发是什么意思
  • 怎么个人做网站深圳响应式网站价格
  • 武进网站建设信息两个WordPress文章同步更新
  • 企业网站建设参考资料wordpress成品网站云部落
  • 网站描述和关键词怎么写沈阳高端网站制作
  • 网站实名认证功能怎么做wordpress 搜索记录表
  • 北京当地网站 点36kr源码WordPress
  • 台前网站建设公司网页界面模板设计