UVa699】的更多相关文章

  // UVa699 The Falling Leaves // 题意:给一棵二叉树,每个节点都有一个水平位置:左儿子在它左边1个单位,右儿子在右边1个单位.从左向右输出每个水平位置的所有结点的权值之和.按照递归方式输入,-1表示空 树 // UVa699 The Falling Leaves // Rujia Liu // 题意:给一棵二叉树,每个节点都有一个水平位置:左儿子在它左边1个单位,右儿子在右边1个单位.从左向右输出每个水平位置的所有结点的权值之和.按照递归方式输入,-1表示空树…
这道题我的思路是先通过递归构建树,然后进行遍历将位置和保存在map映射中,最后按顺序输出map集合中的值. 至于如何遍历,我是依次尝试了宽度优先遍历和深度优先遍历,当然这都是可以的.不过期间写错了很多次.在此总结以下在这道题目中犯得错误(逻辑错误): 同一树,根节点地址不变,却多次使用 同一映射,不经清空却多次添加 遍历时在队列和栈中添加进的节点不是当前节点(即写错节点名称) 栈溢出导致结果出错 对一个节点分配内存只能在同一函数中进行 //否则需要添加指针引用(*指针也需要引用) .... 以下…
  Not so Mobile  Before being an ubiquous communications gadget, a mobile was just a structure made of strings and wires suspending colourfull things. This kind of mobile is usually found hanging over cradles of small babies.   The figure illustrates…
和书上的方法不一样... 因为我不知道节点,所以就直接用map来存左右了. #include<bits/stdc++.h> using namespace std; map <int, int> m; int l, r; int cnt; void dfs(int pos){ int t1; scanf("%d", &t1); ){ dfs(pos - ); l = min(l, pos - ); m[pos - ] += t1; } int t2; s…
这个建树的根选的很有意思,在中间作为树的根.所以二叉树建树的方法虽然一般是有两种数组的方法,一个是如果深度不太大的话,可以之间用2*k+1,2*k建树,如果很大的话,就挨着建树,弄一个结构体,有左右子. #include <iostream> #include <cstring> #include <string> #include <map> #include <set> #include <algorithm> #include…
类似第九题  都是属于比较巧妙的题目  ! 用一个p数组来保存水平值   然后开始built 自然就会按照自左而右的顺序来读取!!!!!!这很重要 #include<bits/stdc++.h> using namespace std; void built (int pos); ]={}; int main() { ; ) { memset(p,,sizeof(p)); p[]+=root; built(-);built(+); ; )t++; printf("Case %d:\n…
每年到了秋天树叶渐渐染上鲜艳的颜色,接着就会落到树下来.假如落叶发生在二叉树,那会形成多大的树叶堆呢?我们假设二叉树中的每个节点所落下的叶子的数目等于该节点所储存的值.我们也假设叶子都是垂直落到地面上(真感谢没有风把他们吹的到处都是).最后,我们再假设节点之间水平的距离是以下列方式定义:某个节点到其左子树以及到其右子树的水平距离均为1.以下图来说明: 含有5和含有6的节点位于同一水平位置(当然,他们垂直的位置不同).含有7的节点位于含有5的节点和含有6的节点左边一个位置.而含有3的节点则位于含有…
#include <iostream> #include <cstdio> #include <cmath> #include <cstring> #include <algorithm> #include <cstdlib> #include <stack> #include <cctype> #include <string> #include <malloc.h> #include…
从头开始刷ACM,真的发现过去的很多漏洞,特别越是基础的数据结构,越应该学习得精,无论是ACM竞赛,研究生考试,还是工程上,对这些基础数据结构的应用都非常多,深刻理解非常必要.不得不说最近感触还是比较多,申请阿里的校招挂了,申请的是算法工程师.然而得到的答复是第一,几乎只招研究生,本科生被Pass掉了,然后第二,问我是否有读研的打算,我说有,然后吐槽我的ACM搞得像屎一样,成绩根本无法让他满意,如果有意向,建议我能研一能拿个像样的成绩,真是2333.自己弱也怪不得别人了. 训练地址:http:/…
题目描述: 原题:https://vjudge.net/problem/UVA-699 题目思路: 1.依旧二叉树的DFS 2.建树过程中开个数组统计 //紫书源代码WA AC代码: #include <iostream> #include <cstring> using namespace std; ; int sum[maxn] ; void buildtree(int val,int p) //建树,p为树根的水平位置 { int vl,vr; ) return ; sum[…