D. 删字母

    传统题 文件IO:erase 1000ms 1024MiB

删字母

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

删字母

1s|1024Mb

现有一个长度为nn ,字符集为前kk个小写字母的字符串。

给你一个k×kk \times k0101矩阵AA,如果Ai,j=1A_{i,j} =1 ,意味着出现了相邻 ii 字母和 jj 字母,且ii字母在前面,我们可以删除jj字母。你可以以任何次数任何顺序进行删除,当然也可以不删。

现在问你,进行若干删除操作之后,能得到最小字典序的字符串是什么。

字典序就是从首位开始,一位一位比较,如果哪一位更小或者哪一位为空就结束。

输入格式

第一行两个数kknn(1k26,1n500000)(1\leq k\leq 26 ,1\leq n \leq 500000)

接下来一个k×kk \times k 的01矩阵。

k+2k+2行一个长度为nn的字符串。

输出格式

能得到最小字典序的字符串。

样例输入 1

3 7 
010
001
100
abacaba

样例输出 1

aac

样例输入 2

3 5
010
001
100
bcacb

样例输出 2

bacb

下发数据文件 http://bzoj.org/file/2/erase.zip

样例解释

  • image-20210819162457942db32926b610c6eee.png

image-20210819162514993f798a9af85f20d9d.png

子任务

子任务序号 分数 n k 依赖
1 10 20\leq 20 26\leq 26
2 12 50\leq 50 5\leq 5
3 16 300\leq 300 2
4 17 500\leq 500 26\leq 26 1-3
5 10 2000\leq 2000 1-4
6 9 10000\leq 10000 1-5
7 8 100000\leq 100000 1-6
8 11 500000\leq 500000 2\leq 2
9 7 26\leq 26 1-8

联测 day1

未参加
状态
已结束
规则
OI
题目
4
开始于
2021-8-20 3:30
结束于
2021-8-20 7:30
持续时间
4 小时
主持人
参赛人数
48