题意:有一些机器用一些管子链接 然后每一个机器要有两个入口一个出口 给定了链接的长度是无限的

求最小的宽度

解法:比较二叉树中子树进行存放时的大小,记录节点的最小宽度即可

#include<iostream>
#include<cstdio>
#include<stdio.h>
#include<algorithm>
#include<string.h>
using namespace std;
#define maxn 111111
struct node{int ls,rs;int size;node(int ls=-1,int rs=-1,int size=0):ls(ls),rs(rs),size(size){}
}e[maxn];
void dfs(int rt){
//    printf("rt:%d %d %d\n",rt,e[rt].ls,e[rt].rs);int lsize,rsize;if(e[rt].ls==-1){lsize=0;}else {dfs(e[rt].ls);lsize=e[e[rt].ls].size;}if(e[rt].rs==-1){rsize=0;}else{dfs(e[rt].rs);rsize=e[e[rt].rs].size;}e[rt].size=max(max(lsize,rsize),min(lsize,rsize)+1);
//    printf("%d %d %d %d\n",rt,lsize,rsize,e[rt].size);
}
int n,vis[maxn],x;
int main(){while(~scanf("%d",&n)){memset(vis,0,sizeof vis);for(int i=0;i<=n+1;++i){e[i].ls=e[i].rs=-1;e[i].size=0;}for(int i=1;i<=n-1;++i){scanf("%d",&x);if(!vis[x]){e[x].ls=i+1;vis[x]=1;}else{e[x].rs=i+1;}}dfs(1);printf("%d\n",e[1].size);}return 0;
}

ZOJ 3805 树形dp相关推荐

  1. ZOJ 3527 树形DP(章鱼图DP)

    题意 有N个村庄,每个村庄有一定的信仰值,占领村庄可以得到信仰值,每个村庄有一个关联村庄,同时占领关联村庄可以得到加成(可能为负),问占领一些村庄,最多可以得到多少信仰值 题解 这个DP已经不能算是树 ...

  2. BNUOJ 52305 Around the World 树形dp

    题目链接: https://www.bnuoj.com/v3/problem_show.php?pid=52305 Around the World Time Limit: 20000msMemory ...

  3. [树形dp] Jzoj P5233 概率博弈

    Description 小A和小B在玩游戏.这个游戏是这样的: 有一棵n个点的以1为根的有根树,叶子有权值.假设有m个叶子,那么树上每个叶子的权值序列就是一个1->m 的排列. 一开始在1号点有 ...

  4. fwt优化+树形DP HDU 5909

    1 //fwt优化+树形DP HDU 5909 2 //见官方题解 3 // BestCoder Round #88 http://bestcoder.hdu.edu.cn/ 4 5 #include ...

  5. BZOJ 1040 ZJOI2008 骑士 树形DP

    题目大意:给定一个基环树林,每一个点上有权值,要求选择一个权值和最大的点集,要求点集中的随意两个点之间不能直接相连 最大点独立集--考虑到n<=100W,网络流铁定跑不了,于是我们考虑树形DP ...

  6. POJ 3342 树形DP+Hash

    这是很久很久以前做的一道题,可惜当时WA了一页以后放弃了. 今天我又重新捡了起来.(哈哈1A了) 题意: 没有上司的舞会+判重 思路: hash一下+树形DP 题目中给的人名hash到数字,再进行运算 ...

  7. [NC15748]旅游 树形dp基础

    菜鸡第一次接触树形dp这个东西,不过这个东西还是很好理解的(可能是因为模板题吧) 个人感觉,相比线性dp,树形dp的状态转移方程更加的直观,难点主要是在"树"的结构上比较麻烦. 题 ...

  8. 容斥 + 树形dp ---- 2021 icpc 沈阳 L Perfect Matchings

    题目链接 题目大意: 就是给你一个2n2n2n个点的完全图,从这个图里面抽出2n−12n-12n−1条边,这些边形成一颗树,现在问你剩下的图里面点进行完美匹配有多少种方案? 解题思路: 一开始被完美匹 ...

  9. 树形dp ---- gym101667 A(贪心 + 树形dp + 两个dp方程组维护)

    题目链接 题目大意: 就是一棵5e35e35e3的树,可以选择一些点,放上基站,如果uuu上的基站价值为ddd,那么距离uuu小于等于ddd的点都会被覆盖,问使得整棵树被覆盖需要的最小价值. 解题思路 ...

  10. 树形dp ---- 2018年杭电多校第二场 H travel

    题目大意: 就是给你一个带点权的树,找到3条独立互不相交的路径使得权值和最大 解题思路: 很经典的树形dp 我们设dp[root][j][k]dp[root][j][k]dp[root][j][k]表 ...

最新文章

  1. 他是娱乐圈最低调的人,甘当多年绿叶,没想到竟是鲁迅的侄子
  2. linux下用gcc如何生成预处理、汇编等文件
  3. Reading Club Questions Feedback
  4. 一年代码功能点的创新性怎么写_查新报告的查新点(创新点)写法,参考
  5. 用AJAX技术聚合RSS
  6. python爬取苏州天气并用excel来保存
  7. 计算机考试只读,计算机基础考试试题-20210710011550.docx-原创力文档
  8. python thrift 示例
  9. Git----远程仓库之添加远程库02
  10. 调试mysql语句_Mysql sql 语句调试
  11. 电脑硬件故障排除经验
  12. 具体案例 快速原型模型_【复习资料】软件工程之快速原型模型
  13. Android使用FFmpeg 解码H264并播放(一)
  14. 应用内悬浮窗适配方案实战
  15. 对于教育改革的一些省思
  16. 使用editor编辑器遇到的小问题:editor.md工具栏置顶
  17. python机器学习实现oneR算法 以鸢尾data为例
  18. 淘宝居然还有卖代码的
  19. 计算机组成原理练习题——机器码与加减运算
  20. 移动文件后图标变白解决方法

热门文章

  1. 洛谷P3332 K大数查询
  2. 谈谈移动硬盘或者手机连接到PC提示“无法访问,拒绝访问”或“您没有访问该设备的权限”的解决办法
  3. echarts横向柱状图
  4. 南京航空航天大学陈松灿教授访谈
  5. 全国主要城市经纬度SQL脚本
  6. 黑马程序员—选择黑马,是我前进的方向
  7. 怎么设置html z值,正态分布1.96 统计学,Z=1.96怎么来的
  8. wheeltech惯导模块使用
  9. Word中有些空行无法删除,我是这样解决的.............
  10. 墨卡托坐标系和gcj03坐标系转换