AT_agc024_f [AGC024F] Simple Subsequence Problem
题目描述
给定一个由 `0` 和 `1` 组成的字符串集合 $S$ 以及一个整数 $K$。请你求出作为 $S$ 中至少 $K$ 个不同字符串的子序列的最长字符串。如果有多个满足条件的字符串,输出字典序最小的那个。
集合 $S$ 的给定方式如下:
- 给定整数 $N$ 和 $N+1$ 个字符串,这 $N+1$ 个字符串依次为 $X_0, X_1, ..., X_N$,其中每个 $X_i$ 的长度为 $2^i$。
- 对于任意整数对 $(i, j)$($0 \leq i \leq N, 0 \leq j < 2^i$),$X_i$ 的第 $j$ 个字符(第一个字符为第 $0$ 个,最后一个为第 $2^i-1$ 个)为 `1` 当且仅当,将 $j$ 用 $i$ 位二进制表示(必要时在前面补 $0$),得到的字符串属于 $S$。
- 长度大于等于 $N+1$ 的字符串不属于 $S$。
此外,字符串 $A$ 是字符串 $B$ 的子序列,指存在整数序列 $t_1 < t_2 < ... < t_{|A|}$,使得对于所有 $i(1 \leq i \leq |A|)$,$A$ 的第 $i$ 个字符等于 $B$ 的第 $t_i$ 个字符。
输入格式
输入通过标准输入给出,格式如下:
> $N$ $K$ $X_0$ $:$ $X_N$
输出格式
请输出作为 $S$ 中至少 $K$ 个不同字符串的子序列的最长字符串中,字典序最小的那个。
说明/提示
## 限制条件
- $0 \leq N \leq 20$
- $X_i (0 \leq i \leq N)$ 的长度为 $2^i$,且仅包含 `0` 和 `1`
- $1 \leq K \leq |S|$
- $K$ 是整数
## 样例解释 1
$S$ 中的字符串有(空字符串)、`1`、`00`、`10`、`11`、`001`、`100`、`101`、`110`。这些字符串中,作为至少 $4$ 个字符串的子序列的最长且字典序最小的字符串是 `10`。
## 样例解释 3
答案为空字符串。
由 ChatGPT 4.1 翻译