P15221 [SWERC 2017] Candy Chain
题目描述
糖果链是由单个糖果组成的序列。糖果有 26 种不同的口味,用小写字母 $a$ 到 $z$ 表示。Margot 在她的店里展示了一条特别精美的糖果链。
放学后,孩子们会来到她这里购买糖果链的一部分。每个孩子有不同的偏好。例如,有一个孩子喜欢口味序列为 $ababi$ 的部分,并愿意为此支付 3 欧元。另一个孩子喜欢口味序列为 $axsa$ 的部分,并愿意支付 5 欧元。
Margot 可以从糖果链中截取部分糖果卖给孩子们。当她截取一部分后,她会将糖果链剩余的左右部分连接起来,然后可以继续为其他孩子截取更多部分,或者决定停止。
相同的口味序列可以多次卖给同一个孩子(只要 Margot 能够从她的糖果链中多次截取出该序列)。如果 Margot 无法卖出某些糖果,她绝不会丢弃它们。在出售时,她可以将糖果部分反转(例如,$axsa$ 和 $asxa$ 是等价的)。Margot 不必为所有孩子服务,也不必须以任何特定顺序服务孩子们。
你的任务是帮助 Margot 计算她能从糖果链中获得的最大收益。
输入格式
- 第一行表示 Margot 的糖果链,是一个非空字符串。
- 第二行包含孩子数量,一个整数 $C$。
- 接下来的 $C$ 行表示每个孩子的偏好,每行包含两个用空格分隔的部分:他或她喜欢的糖果部分,用一个非空字符串表示;以及他或她愿意支付的金额,用一个整数 $P_i$ 表示。
输出格式
一个整数:Margot 能够获得的最大收益。
说明/提示
#### 数据范围
- Margot 的糖果链以及每个孩子喜欢的糖果部分最多由 50 个糖果组成;
- $1 \leq C \leq 200$;
- 对于所有 $1 \leq i \leq C$,$0 \leq P_i \leq 1\,000\,000$;
- 所有字符串仅由小写字符 $a$ 到 $z$ 组成。
翻译由 DeepSeek 完成