摘要: 大致题意就是给出一棵树,求出哪一层结点的个数最多,输出个数 和第几层。 这题挺简单的,就是写代码的时候比较粗心,导致调试了好久。。。 我用的BFS,总的来说,BFS要比DFS多30行代码,但是BFS更容易理解。 BFS代码: 1 #include<iostream> 2 #include<vecto 阅读全文
posted @ 2020-03-02 19:36 tangq123 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 大致题意就是给出一棵树,求出叶子结点的最大权值,并输出该叶子节点的个数。 令人疑惑的点: 我这里定义二维数组是vector<int> child[maxn],如果换成vector<int> child(maxn),就会无法push_back数据。。。奇了怪了。 1052 卖个萌 这题也用到了固定一边 阅读全文
posted @ 2020-03-02 17:38 tangq123 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 题目: 某公司使用某种原材料加工两种规格的产品其中生产每件A产品消耗原材料56kg生产每件B产品消耗原材料64kg。假设该公司现有800kg的原材料编写程序计算A、B各生存多少件剩余的原材料最少? 分析: 由题意可以得出一个二元一次方程:56*x + 64*y <= 800,通过两个for循环暴力求 阅读全文
posted @ 2020-03-02 13:38 tangq123 阅读(914) 评论(0) 推荐(0) 编辑
摘要: 大致题意就是求一棵树的所有 叶子节点的权值乘以其对应价格 之和。 1 #include<iostream> 2 #include<vector> 3 using namespace std; 4 const int maxn = 100010; 5 6 struct Node { 7 int pro 阅读全文
posted @ 2020-03-02 13:29 tangq123 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 大致题意就是给出一个静态二叉树,将其反转后输出层序遍历序列和中序遍历序列。 思路: 使用一维数组存放二叉树的结点,标记输入的孩子结点为已访问,最后可以通过遍历标记数组,找出未被访问的结点即为根结点。 实现反转二叉树的方法:访问完 当前根结点的左孩子和右孩子以后,交换其左、右孩子,后序遍历实现。 层序 阅读全文
posted @ 2020-03-02 11:17 tangq123 阅读(228) 评论(0) 推荐(0) 编辑
摘要: 这是一道二叉树遍历模板题。 大致题意就是给出 用栈模拟二叉树的中序遍历过程,推断出push的全部元素是先序序列,pop的全部元素是中序序列,最后 根据 先序+中序 = 二叉树,输出二叉树的后序序列。 注意点:如果使用 getline(cin,str),必须要考虑 元素值大于 10的情况,不然 最后一 阅读全文
posted @ 2020-03-02 09:23 tangq123 阅读(337) 评论(0) 推荐(1) 编辑