zoj 3805 Machine
来源:互联网 发布:东奥通关无忧班 知乎 编辑:程序博客网 时间:2024/05/29 17:31
题目链接:zoj 3805
题意:
思路:就是树的宽度等于左子树和右子树的最大值,若相等等于子树值+1,第一次做树上的题,不会从叶子往根递推,于是就模仿BFS的思想把节点按照深度大小存起来了,写了好长时间,没时间做别的题了...
cpp:http://paste.ubuntu.com/8130830/
#include <cstdio>#include <cstring>#include <iostream>using namespace std;#define maxn 10010struct Node { int wight,son[3]; void insert(int x){ if(son[0]==-1){ son[0]=x; } else{ son[1]=x; } } void init(){ wight=1; son[0]=-1; son[1]=-1; son[2]=-1; }}node[maxn];int layer[maxn];int n, tp;void be_layer(){ int tot=0,cnt=1; layer[1]=1; while (1){ ++tot; for(int i=0;node[layer[tot]].son[i]!=-1;i++) { layer[++cnt]=node[layer[tot]].son[i]; } if(cnt>=n) { break; } }}void prepare(){ for(int i=1;i<=n;i++){ node[i].init(); } for(int i=2;i<=n;i++) { scanf("%d",&tp); node[tp].insert(i); }}void slove(){ for(int i=n;i>=1;i--) { int dad=layer[i]; int lson=node[dad].son[0]; int rson=node[dad].son[1]; if(lson==-1){ continue; } else if(rson==-1) { node[dad].wight=node[lson].wight; } else if(node[dad].son[2]==-1){ if(node[lson].wight>node[rson].wight) { node[dad].wight=node[lson].wight; } else if(node[lson].wight<node[rson].wight) { node[dad].wight=node[rson].wight; } else if(node[lson].wight==node[rson].wight){ node[dad].wight=node[lson].wight+1; } } }}int main (){ freopen("data.in","r",stdin); while (~scanf("%d",&n)){ prepare(); be_layer(); slove(); printf("%d\n",node[1].wight); } return 0;}
0 0
- zoj 3805 Machine
- ZOJ 3805 Machine
- ZOJ 3805 Machine
- ZOJ 3805 Machine
- ZOJ 3805 Machine
- ZOJ 3805 Machine
- ZOJ - 3805 Machine
- ZOJ-3805-Machine
- Machine - ZOJ 3805 二叉树
- ZOJ Machine
- ZOJ 3805 Machine(树形DP)
- ZOJ 3805 Machine(简单dp)
- ZOJ 3805 Machine(二叉树,递归)
- ZOJ-3805---Machine (记忆化dfs)
- zoj 3805 Machine(ZOJ Monthly, August 2014 - H)
- ZOJ - 3324 Machine
- ZOJ 1364 Machine Schedule
- ZOJ 3324 Machine
- 产品经理黑魔法:史上最奇葩的免费
- Maven 学习笔记(2)pom.xml配置详解
- 第二章算法分析中需要掌握的内容
- UVA 307 - Sticks
- 如何在eclipse中开发多个聚合关系的maven项目并用git管理
- zoj 3805 Machine
- [索引] 线性表
- RubyMine安装(Ubuntu)
- Dynamics CRM2011/2013 站点地图sitemap的翻译
- 无法生成临时类(result=1)。
- WordPress打开速度很慢的解决方法
- Android Camera 系统框架分析
- SQL 视频整体总结
- AVL树