AT_abc470_e [ABC470E] Concentration
题目描述
Takahashi 正在玩一种类似于记忆配对的单人纸牌游戏。
共有 $2N$ 张牌。每张牌的正面都写有一个数字,背面没有写任何东西。
对于每一个满足 $1 \leq i \leq N$ 的 $i$,恰好有两张牌上写着 $A_i$(这些 $A_i$ 各不相同)。
Takahashi 按照以下流程玩这个游戏:
- 将 $2N$ 张牌洗牌后面朝下摊开。
- 将 **life** 设为 $L$,**score** 设为 $0$。
- 重复以下步骤,直到 life 变为 $0$ 或桌上没有牌为止:
- 选一张桌上面朝下的牌,将其翻开,记其数字为 $X$。
- 再选一张桌上面朝下的牌,将其翻开,记其数字为 $Y$。
- 如果 $X=Y$,则将这两张牌从桌上移除,得分增加 $X$。
- 如果 $X\neq Y$,则将这两张牌重新扣下,life 减 $1$。
请在 Takahashi 总是采取最优策略(期望分数最大化)的情况下,求出游戏结束时分数的期望值。
下面是更形式化的描述:
- Takahashi 知道游戏的全部规则。
- Takahashi 知道 $A_1,\dots,A_N$ 的值。
- 记 $B$ 是通过对长度为 $2N$ 的序列 $(A_1,A_1,A_2,A_2,\ldots,A_N,A_N)$ 进行等概率随机排列后得到的序列。
- 起始时,Takahashi 对 $B$ 的内容一无所知。只要他了解了 $B_i$ 的值,就会一直记住。
- life 初始化为 $L$,score 初始化为 $0$,$S = \{1,2,3,\ldots,2N\}$。Takahashi 永远知道这些值。
- 不断重复以下步骤,直至 life 变为 $0$ 或 $S$ 为空:
- 根据已获得的信息,Takahashi 从 $S$ 中选择一个元素 $i$。
- $B_i$ 的值被揭示,Takahashi 记住这个信息。
- 根据已获得的信息(包括 $B_i$ 的值),Takahashi 从 $S\setminus\{i\}$ 中再选一个元素 $j$。
- $B_j$ 的值被揭示,Takahashi 记住这个信息。
- 若 $B_i=B_j$,则从 $S$ 中移除 $i$ 和 $j$,并将 $B_i$ 加入到得分中。
- 若 $B_i\neq B_j$,则 life 减少 $1$。
- Takahashi 总是以最大化期望分数为目标采取最优策略。
输入格式
输入为标准输入,格式如下:
$N\ L\ A_1\ A_2\ \dots\ A_N$
输出格式
输出答案。
若你的输出与标准答案的绝对误差或相对误差不超过 $10^{-5}$,则认为是正确的。
说明/提示
### 样例解释 1
游戏可能按如下方式进行。为方便区分六张牌,记为 `A`、`B`、`C`、`D`、`E`、`F`。
- 游戏开始时,life 为 $2$,score 为 $0$。
- 翻开卡牌 `A`,上面写着 $3$。
- 翻开卡牌 `B`,上面写着 $2$。
- 数字不相同,将两张牌重新扣下,life 变为 $1$。
- 翻开卡牌 `C`,上面写着 $3$。
- 翻开卡牌 `A`,上面写着 $3$。
- 数字相同,将两张牌从桌上移除,score 增加 $3$,现在 score 为 $3$。
- 翻开卡牌 `D`,上面写着 $1$。
- 翻开卡牌 `E`,上面写着 $2$。
- 数字不同,将两张牌重新扣下,life 变为 $0$。
- 由于 life 变为 $0$,游戏结束。分数为 $3$。
需要注意的是,在翻开卡牌 `C` 后,Takahashi 可以基于 "已知 `A` 上写着 $3$" 这一信息,选择翻开卡牌 `A`,形成配对。
### 数据范围
- $1 \leq N \leq 200$
- $1 \leq L \leq 200$
- $1 \leq A_1 < A_2 < \dots < A_N \leq 10^5$
- 所有输入均为整数。
由 ChatGPT 5 翻译