首页
比赛
tracker
题库
课程
竞赛讨论区
登录
/
注册
去牛客
首页
>
种树
7条解析
开通博客写题解
肖先生~
发表于 2020-12-12 23:23:09
种树 题目分析:这个题目其实我们要抓住一个点,那就是我们先用小剪刀,最后再用大剪刀,比如我们没有用完小剪刀就用大剪刀的话,那么最后的值不一定是最大值,假如我们事先用大剪刀把大的值传递过来,中间只要用了一次小剪刀那么前面传过来的值都没用了,也就是说这种情况相当于一次小剪刀就抵消了几次大剪刀,那么显然最
展开全文
pandaC222
发表于 2026-02-20 01:22:24
我们主要考虑什么时候用大剪刀,可以使用大剪刀的次数为(m+1)/2,为了使根的值最大,我们一定要在1处使用大剪刀,为了使一的两个左右节点大,我们也要选择使用大剪刀,由此可推出我们要在靠近1的分叉去使用大剪刀,这里设1的深度为1,举个例子,我们能使用大剪刀的次数为2,那我们要在深度小于2的时候使用大剪
展开全文
此在Dasein
发表于 2026-02-20 03:57:21
这是一个经典的树上最优化问题,结合了二分答案与树形动态规划(Tree DP)。 一、 问题分析 树结构特征: 题目描述了一棵满二叉树结构,即树中的每个节点通常被称为“内部节点”(有两个子节点)或“叶子节点”(无子节点)。 初始时,只有原始叶子节点的生命力数值是有效的决策依据。尽管输入给出了所有
展开全文
青菜_VC
发表于 2020-11-15 16:47:07
2020-11-14牛客小白月赛29-D [by_041] 看题,分析,大剪刀就是用来搬运大数的,多大呢?在(0m+1)/2层内最大的 那么答案就很明显了,(m+1)/2内的深度返回大值,其余返回小值 附上代码 #include<iostream> using namespace
展开全文
_已被标记为苯环迷弟Jakeap
发表于 2026-02-21 00:16:29
首先理解一下题意(我一开始其实没看懂),是先给出每个结点的左右结点,再在一行中给出每个结点的val值。我觉得有一个不好的点就是他默认了树的结点编号是按顺序1到n并且给出的左右结点正好是编号代表,没有说明清楚我感觉(个人感觉)这个树是只有度为2的结点和度为0的结点,我们要去用两种剪刀去减去这些度为2的
展开全文
YunBaichuan
发表于 2026-02-20 10:18:13
思路:贪心。为了保证根节点具有最大的生命值,我们可以用一个贪心策略:大剪刀能用次,那么就在前m层使用大剪刀,后更深的层使用小剪刀即可。并且题目说了,每次修剪为左右孩子到根,这个顺序天然和后序遍历一致。因此,我们就可以递归算一遍后序遍历,以及对应节点的深度;之后,再用贪心策略求出最终的答案并输出即可
展开全文
狂点技能树
发表于 2020-11-16 20:05:57
我是题目链接 看了很多大佬的写法,一般都是树+深搜递归,但是个人总觉得如果是这样的话 5e5 来个恶心的树结构还是担心爆了(不过觉得用栈可能还是会比较好,在这里就只是谈一下我的一个比较 nc 的做法吧 首先,推出修剪次数=n/2,所以m=(n/2+1)/2。下一步就是猜测了,设想一下,如果能保证通往
展开全文
查看本题
查看本题讨论
相关比赛
8564-牛客小白月赛29
进入比赛
24687-卷死你们
进入比赛
27637-牛客小白月赛
进入比赛
48450-红尘杯冬季趣味联赛
进入比赛
128881-验题
进入比赛
等你来战
查看全部
牛客挑战赛88
报名截止时间:2026-05-15 22:00
2026年临沂大学程序设计挑战赛
报名截止时间:2026-05-16 17:30
牛客周赛 Round 144
报名截止时间:2026-05-17 21:00
2026年北京印刷学院程序设计竞赛(同步赛)
报名截止时间:2026-05-20 22:00
牛客练习赛153
报名截止时间:2026-05-22 21:30
2026年中南民族大学程序设计竞赛决赛(同步赛)
报名截止时间:2026-05-23 17:00
"壹零杯"第三届西华师范大学程序设计竞赛(同步赛)
报名截止时间:2026-05-24 14:30
牛客周赛 Round 145
报名截止时间:2026-05-24 21:00
牛客小白月赛133
报名截止时间:2026-05-29 21:00
第二十三届宁波大学程序设计竞赛(同步赛)
报名截止时间:2026-05-30 17:30
牛客2026年儿童节比赛
报名截止时间:2026-06-01 21:00
汤圆头 Round 1
报名截止时间:2026-07-06 22:00
2026牛客暑期多校训练营1
报名截止时间:2026-07-16 17:00
扫描二维码,关注牛客
意见反馈
下载牛客APP,随时随地刷题