![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
编写日志
Fate_Saber_TAKI
这个作者很懒,什么都没留下…
展开
-
动规
塔形最大和 问题: 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 这是一个塔形数组,现在计算从塔顶向下加,但只能加下面和下有的数,直到最底层,求最大的和是多少。 input 5 //表示有几层 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 output 30 个人解析 一般刚上手会直接从第一层加取,但是由于不知道后面层数的数字,会造成只有当前一步加取最大,不可取,暴力求...原创 2018-10-23 01:03:37 · 177 阅读 · 0 评论 -
树重心
一遍dfs 树的重心的性质就不用再说了,本题主要使用重心的概念进行解题即在所有节点为根的较大size(节点数)的子树当中找到节点数最小的节点。 本题最重要的是 理解如何实现一遍dfs递归找到最佳节点 算法的关键是使用递归操作所有的节点的子节点具体实现如下 使用vector<int>leaf[]来构建树存储节点及其相连的节点。 now表示当前的节点 son表示now的子节点 parent...原创 2018-10-23 01:03:07 · 469 阅读 · 0 评论 -
树染色
树的染色 题意 每条边的两个端点进行染色,要求每条边两端颜色不一样,求至少需要几种颜色 分析 如果只有一个点,当然只要一种颜色就行。 如果是棵树,没有环,答案是2。 如果有环,且有节点数为奇数的环,答案是3,否则是2。 题解 说明:开始我是想先剪枝,将不成环的分支剪掉,然后遍历寻找环的个数,判断奇偶,但是太繁琐,索性我直接进行遍历染色,看能否被两种颜色染色,能则为2,不能则为3. 定义:vecto...原创 2018-10-29 18:03:43 · 1079 阅读 · 0 评论