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

洛谷P15801[GESP202603 六级]完全二叉树

还是题目传送门

这题说实话,雀食很难。(我才不会告诉你我想了1个多小时)我认(kan)真(le)思(ti)考(jie)才知道这题要用DFS传输3个数据:是否为完全二叉树、是否为满二叉树、深度。

Solution

要知道这颗子树是否为完全二叉树,要判断这几个条件:

当自己的两颗子树深度相同时

1.当右子树为满二叉树且左子树也为满二叉树
2.当右子树为满二叉树且左子树为完全二叉树

当自己的两颗子树深度差为1时(且左子树较深)

1.当左子树为满二叉树且右子树也为满二叉树
2.当左子树为满二叉树且右子树为完全二叉树

如果不满足上述条件,则该子树不为完全二叉树,否则,该子树则为完全二叉树(第一种情况也为满二叉树)。

注意点

1.空树不仅是完全二叉树,也是满二叉树,只是深度为0。
2.要特判一下叶子节点。

AC Code

#include<bits/stdc++.h>
using namespace std;
int n, ans = 0;
struct node{int lc;int rc;
}a[100020];
struct tj{int h;bool w;bool m;
};
tj sc(int d){if(a[d].lc == 0 && a[d].rc == 0){ans++;return {1, 1, 1};} tj c1, c2;if(a[d].lc != 0){c1 = sc(a[d].lc);} else {c1 = {0, 1, 1};}if(a[d].rc != 0){c2 = sc(a[d].rc);} else {c2 = {0, 1, 1};}if(c1.h == c2.h){if(c1.m){if(c2.w){if(c2.m){ans++;return {c1.h + 1,1,1};}else{ans++;return {c1.h + 1,1,0};}}else{return {c1.h + 1,0,0};}} else {return {c1.h + 1,0,0};}}else if(c1.h - 1 == c2.h){if(c2.m){if(c1.w){if(c1.m){ans++;return {c1.h + 1, 1, 0};} else {ans++;return {c1.h + 1, 1, 0};}} else {return {c1.h + 1, 0, 0};}} else {return {c1.h + 1, 0, 0};}} else {return {max(c1.h, c2.h) + 1, 0, 0};}
}
int main(){cin >> n;for(int i = 1; i <= n; i++)cin >> a[i].lc >> a[i].rc;sc(1);cout << ans;return 0;
}

总结

本题比较难想,富有逻辑,需要仔细思考。

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

相关文章:

  • 泉州装修哪家好?旧房翻新怕被坑?深度测评本土黑马「3F改造家」的六大承诺与五星售后 - 速递信息
  • 2026年4月热门的鹿优选商城推荐,手机购物/线上购物/护肤品时尚好物优选/好物优选,鹿优选商城商品质量如何 - 品牌推荐师
  • 长沙去岳阳商务车/岳阳去长沙商务车电话0730-8188098 - 速递信息
  • 如何在 Cloudflare 后台配置负载均衡健康检查监控源站状态
  • 2026年想除甲醛?专业的璧山除甲醛服务推荐别错过! - 得意的笑125
  • 2026年山西网上阅卷系统公司精选名单-山西普泰泽科技有限公司值得关注 - 品牌推广大师
  • 装饰用
  • docker运行hermes agent
  • 南充地区易拉宝、X展架、行架租赁制作 - 四川华蔓广告有限公司设计安装施工 - 四川华蔓广告有限公司
  • 南充地区警示标识、围挡、展架制作 - 四川华蔓广告有限公司设计安装施工 - 四川华蔓广告有限公司
  • 2026 智能型差压变送器源头厂家品牌排行榜 - 王工聊地下水监测
  • 南充地区花草牌、小区园林标识、亚克力雕刻制作 - 四川华蔓广告有限公司设计安装施工 - 四川华蔓广告有限公司
  • 5.14 冲刺日1
  • 南充地区水晶字、穿孔字、烤漆字制作 - 四川华蔓广告有限公司设计安装施工 - 四川华蔓广告有限公司
  • 2026涪陵家具工厂推荐|沙发/床垫/定制家具实力厂家汇总 - 企业推荐师
  • 南充地区门头招牌、发光字、软膜灯箱制作 - 四川华蔓广告有限公司设计安装施工 - 四川华蔓广告有限公司
  • 2026年4月技术好的清理筛实力厂家推荐,粮食通风地笼/斗式提升机/悬空输送机/比重精选筛/清理筛,清理筛生产厂家哪个好 - 品牌推荐师
  • 宿主机与vm共享folder的开发
  • 2026年贵州AI网络推广怎么做才不踩坑?贵阳豆包搜索推广5大服务商实战对标指南 - 年度推荐企业名录
  • 南充地区标识牌、公示栏、精神堡垒制作 - 四川华蔓广告有限公司设计安装施工 - 四川华蔓广告有限公司
  • 2026年别墅益胶泥经销商怎么选:核心选型标准与合规品牌深度解析 - 万事通达
  • Nginx 配置 API 网关鉴权失败报错 502 Bad Gateway 如何解决?
  • 物质的本质
  • Java程序中如何ping一个域名是否有效
  • 空气微压传感器源头厂家排行榜指南|靠谱品牌推荐 - 王工聊地下水监测
  • 面向对象程序设计-第一部分总结
  • 2026年电磁加热/电磁导热油炉/电锅炉/电节能导热油炉/电导热油炉/电加热设备/电蒸汽炉/电磁蒸汽炉/电蒸汽发生器/电蒸汽锅炉/电磁蒸汽炉/电磁加热器/电回转窑/电加热厂家选择指南 - 速递信息
  • 2026年5月赤峰除甲醛市场大揭秘:哪家专业公司脱颖而出? - 得意的笑125
  • 从高精度到宽调速:塑料/橡胶拉力试验机领先品牌竞争力分析 - 品牌推荐大师
  • MIT 开源 ScalarGui 图形化搞定超大 Git 仓库克隆,支持断点续传与稀疏检出