【题目背景】
“清明时节雨纷纷,路上行人欲断魂。”
2075 年的清明没有春雨。在漫天飞雪的笼罩下,穿行在冰原间的,只有载着人类
微薄希望的雪地车。
遥遥 4.22 光年的征途,对于地球这孤独的旅人而言,恐怕也是无比寂寞的吧。
【题目描述】
距离苏拉威西只有一百公里了,车内的空气比窗外更加冰冷。四双眼睛紧盯着艾莉
芬面前的屏幕,那是控制行星发动机的关键程序:春节十二响。他需要将其部署到电力
控制系统的一个芯片中。
“春节十二响”由 n 个子程序构成,第 i 个子程序所需的内存空间是 Mi。这 n 个
子程序之间的调用关系构成了一棵以第 1 个子程序为根的树,其中第 i 个子程序在调
用树上的父亲是第 fi 个子程序。
由于内存紧张,电力控制芯片上提供了一种内存分段机制。你可以将内存分为若干
个段 S 1, S 2, . . . , S k,并将每个程序预先分配到一个固定的段。如果两个子程序没有直接
或间接的调用关系,则他们可以被分配到同一个段中,反之则不能。换言之,当且仅当
a 和 b 在调用树上不. 是. 祖. 先. -后. 代. 关. 系. ,a 和 b 可以被分配到同一个段中。
一个段的大小应当是所有分配到这个段的子程序所需内存大小的最大值,所有段
大小的和不能超过系统的内存大小。
现在艾莉芬想要知道,电力控制芯片至少要有多少内存,才能保证春节十二响的正
确运行。即:最少需要多大的内存,才能通过先将. 内. 存. 分. 成. 若. 干. 个. 段. ,再把. 每. 个. 子. 程. 序.
分. 配. 到. 一. 个. 段. 中. ,使得每. 个. 段. 中. 分. 配. 的. 所. 有. 子. 程. 序. 之. 间. 不. 存. 在. 祖. 先. -后. 代. 关. 系. 。