#19256. 溶酶体的回收与重造
溶酶体的回收与重造
你好,我是阿西莫夫。
在细胞生物学中,溶酶体(Lysosome) 是细胞的“回收站”和“消化系统”。它含有的水解酶可以将衰老的细胞器(如线粒体)、侵入的病毒或大分子蛋白质分解。
这一过程被称为自噬作用(Autophagy)。分解后的产物(如氨基酸、能量)会被细胞回收,用于构建新的结构。
这道题目将**“字符串解析(利用 Map 映射)”与“资源分配(背包 DP)”**结合在一起,模拟从“回收原材料”到“制造新产品”的全过程。
[OI 题库] 溶酶体的“回收与重造” (Lysosome Recycling & Rebuilding)
题目背景
“细胞不会浪费任何东西。今天的废墟,就是明天的摩天大楼。” —— 细胞自噬机制
你是一个溶酶体的控制核心。细胞刚刚吞噬了一个巨大的自噬小泡(Autophagosome),里面装满了各种待分解的细胞碎片。
你的任务分为两个阶段:
- 回收阶段(解析与映射):识别自噬小泡中的各种废弃物,通过水解酶将其分解,计算出总共能回收多少能量(ATP)。
- 重造阶段(背包 DP):利用这些回收来的能量,在能量有限的情况下,从细胞核下达的合成任务列表中选择最优组合,以最大化细胞的生存优势。
题目描述
第一阶段:回收
给定一个“回收价值表”,包含 种废弃物的代号(字符串)和它们分解后能提供的能量值(整数)。
接着给定一个描述自噬小泡内容的字符串 。字符串格式为连续的方括号包裹的代号,例如 [Mito][Ribo][Mito]。
请解析字符串,统计出你当前拥有的总能量 。
第二阶段:重造 细胞核发布了 个合成任务。 第 个任务需要消耗 的能量,完成后能增加 的生存优势。 每个任务只能执行一次(0/1 选择)。 请计算在总能量 的限制下,能获得的最大生存优势。
输入格式
第一行一个整数 ,表示废弃物种类的数量。 接下来 行,每行一个字符串(废弃物代号)和一个整数(回收能量值)。 下一行一个字符串 ,表示自噬小泡的内容。 下一行一个整数 ,表示合成任务的数量。 接下来 行,每行两个整数 ,表示任务的消耗和价值。
输出格式
一个整数,表示最大的生存优势。
样例数据
样例 1
3
Mito 50
Ribo 20
Prot 5
[Mito][Ribo][Prot][Prot]
3
40 60
50 80
30 40
120
解析:
- 回收:
Mito(50) +Ribo(20) +Prot(5) +Prot(5) = 80。 - 重造:总预算 80。
- 选任务 2 (消耗50, 价值80) + 任务 3 (消耗30, 价值40)。
- 总消耗 80 80,总价值 120。
样例 2 (修正版)
1
Virus 100
[Virus][Unknown][Virus]
2
100 10
200 50
50
解析:
- 回收:
Virus(100) +Unknown(0) +Virus(100) = 200。 - 重造:总预算 200。
- 任务 1: 消耗 100, 价值 10。
- 任务 2: 消耗 200, 价值 50。
- 若选任务 1,剩余 100,无法再选任务 2。总价值 10。
- 若选任务 2,耗尽 200。总价值 50。
- 最优解选任务 2,最大价值 50。
数据范围
- , 废弃物代号长度 。
- 字符串 长度 ,保证格式合法(即都是
[...]形式)。 - 。
- 。
- 保证总能量 不会超过 200000(以防背包数组越界)。