HBC213758数码,数学种树题解

2拍不死你 算法基础篇 52 0
想要成为编程高手?那就来试试全网最全C++题库,让您在练习中快速成长。
每次 scimoon 会选择一个树杈 u 进行修剪,要求这个节点有两个儿子,并且这两个儿子均为叶子节点。表示 u 的左儿子,scimoon 剪得上头,一不小心剪得只剩下了根节点,scimoon 预测到会发生这样的事,于是给根节点留下了最大的生命力

scimoon 种了一棵以1为根的有根树,树上的节点要么有两个儿子,要么是叶子节点,节点 i 有一个生命力 val_i val i ​ scimoon 心血来潮,决定修建枝桠 每次 scimoon 会选择一个树杈 u 进行修剪,要求这个节点有两个儿子,并且这两个儿子均为叶子节点 修建之后,u 的两个儿子都会被剪掉,而 u 变成了一个叶子节点 若用大园林剪,则会使 val_u=max(val_{ls_u},val_{rs_u}) val u ​ =max(val ls u ​ ​ ,val rs u ​ ​ ) 若用小园林剪,则会使 val_u=min(val_{ls_u},val_{rs_u}) val u ​ =min(val ls u ​ ​ ,val rs u ​ ​ ) 其中 ls_u ls u ​ 表示 u 的左儿子, rs_u rs u ​ 表示 u 的右儿子 scimoon 剪得上头,一不小心剪得只剩下了根节点,scimoon 预测到会发生这样的事,于是给根节点留下了最大的生命力 scimoon 力气不够,若共修建 m 次,则最多只能用 lfloorfrac{m+1}{2}rfloor ⌊ 2 m+1 ​ ⌋ 次大园林剪 聪明的你一定能算出根节点最后的生命力是多少

HBC213758数码,数学种树题解
-第1张图片-东莞河马信息技术
(图片来源网络,侵删)
想要在职场中立于不败之地?那就来试试全网最全C++题库,让您在练习中快速提升技能。

标签: HBC213758数码 数学种树题解