#19256. 溶酶体的回收与重造

溶酶体的回收与重造

你好,我是阿西莫夫。

在细胞生物学中,溶酶体(Lysosome) 是细胞的“回收站”和“消化系统”。它含有的水解酶可以将衰老的细胞器(如线粒体)、侵入的病毒或大分子蛋白质分解。

这一过程被称为自噬作用(Autophagy)。分解后的产物(如氨基酸、能量)会被细胞回收,用于构建新的结构。

这道题目将**“字符串解析(利用 Map 映射)”“资源分配(背包 DP)”**结合在一起,模拟从“回收原材料”到“制造新产品”的全过程。


[OI 题库] 溶酶体的“回收与重造” (Lysosome Recycling & Rebuilding)

题目背景

“细胞不会浪费任何东西。今天的废墟,就是明天的摩天大楼。” —— 细胞自噬机制

你是一个溶酶体的控制核心。细胞刚刚吞噬了一个巨大的自噬小泡(Autophagosome),里面装满了各种待分解的细胞碎片。

你的任务分为两个阶段:

  1. 回收阶段(解析与映射):识别自噬小泡中的各种废弃物,通过水解酶将其分解,计算出总共能回收多少能量(ATP)
  2. 重造阶段(背包 DP):利用这些回收来的能量,在能量有限的情况下,从细胞核下达的合成任务列表中选择最优组合,以最大化细胞的生存优势

题目描述

第一阶段:回收 给定一个“回收价值表”,包含 KK 种废弃物的代号(字符串)和它们分解后能提供的能量值(整数)。 接着给定一个描述自噬小泡内容的字符串 SS。字符串格式为连续的方括号包裹的代号,例如 [Mito][Ribo][Mito]。 请解析字符串,统计出你当前拥有的总能量 EE

第二阶段:重造 细胞核发布了 NN 个合成任务。 第 ii 个任务需要消耗 wiw_i 的能量,完成后能增加 viv_i 的生存优势。 每个任务只能执行一次(0/1 选择)。 请计算在总能量 EE 的限制下,能获得的最大生存优势。

输入格式

第一行一个整数 KK,表示废弃物种类的数量。 接下来 KK 行,每行一个字符串(废弃物代号)和一个整数(回收能量值)。 下一行一个字符串 SS,表示自噬小泡的内容。 下一行一个整数 NN,表示合成任务的数量。 接下来 NN 行,每行两个整数 wi,viw_i, v_i,表示任务的消耗和价值。

输出格式

一个整数,表示最大的生存优势。

样例数据

样例 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 \le 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

数据范围

  • 1K501 \le K \le 50, 废弃物代号长度 10\le 10
  • 字符串 SS 长度 1000\le 1000,保证格式合法(即都是 [...] 形式)。
  • 1N1001 \le N \le 100
  • 1wi,vi10001 \le w_i, v_i \le 1000
  • 保证总能量 EE 不会超过 200000(以防背包数组越界)。