AT_tkppc2015_i.重要証拠 (Important evidence)
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
joisino 姐姐听说学校里有一位高中生侦探,于是去找他。
见面后发现,这位侦探似乎陷入了困境。
因为他发现了一台可能作为案件关键证据的电脑,但数据已经被移除。
幸运的是,电脑上的操作日志还保存着,若能运用这些日志恢复数据,就能快速解决案件。
joisino 姐姐因为编程能力出众,被委托来恢复这些数据。
操作过程如下:
- 一开始,有 T 种不同的数据,编号从 1 到 T。每种数据由一个位串 Si 表示。
- 之后重复执行以下三种操作中的某一些:
- 合并两个数据。合并后的数据是其位串的拼接,即 Sa+Sb。合并后,所有引用到 a 和 b 的变量都将指向这个新数据。如果 e 和 f 都指向同一数据,而后再将 e 和 g 合并,那么 e、f、g 都将指向新数据。如果 a 和 b 已经合并,则跳过此操作。
- 撤销操作,所有数据回到第 k 次操作后的状态。这里的操作包括合并、撤销及输出。
- 输出某个数据中的最大连续 0 的数量。这部分信息是案件中被删除的数据,也是解开谜团的关键。
joisino 姐姐利用她的编程技巧,根据日志记录编写了一个程序来恢复数据。
输入格式
输入通过标准输入提供,格式如下:
- 第一行一个整数 T(1≤T≤105),表示数据种类的数量。
- 第二行一个位串 A(1≤length(A)≤105),后续将用到。
- 接下来的 T 行中,每行包含两个整数 Li 和 Ri(1≤Li≤Ri≤length(A)),代表第 i 种数据的位串 Si 是 A 从第 Li 个字符到第 Ri 个字符。
- 下一行一个整数 Q(1≤Q≤105),是日志的记录数量。
- 接下来的 Q 行中,每行包含 2 或 3 个整数,它们按时间顺序记录了日志信息。
- 若有 2 个整数:
- 若第一个数字是 0,那么第二个数字表示 ai(1≤ai≤T),这是要输出数据 ai 中最大连续 0 的数量。如果没有 0,就输出 0。
- 若第一个数字是 1,那么第二个数字表示 K($0 \le K \le $ 当前已处理的查询数),将所有数据回到第 K 次操作后的状态。
- 若有 3 个整数:
- 第一个数字是 2,接下来的两个数字是 ai 和 bi(1≤ai,bi≤T),表示合并数据 ai 和 bi。如果这两个数据已经合并,则忽略此操作。
- 若有 2 个整数:
输出格式
参考输入格式说明,输出时在每个输出结果末尾加一个换行符。
输入输出样例
输入#1
5 11111 2 3 2 3 2 4 4 4 4 5 5 2 5 2 0 4 0 1 2 5 5 1 2
输出#1
0 0
说明/提示
配分
本题包括部分得分机会。
- 数据集 1 满足 Q≤50,length(A)≤50,T≤50,正确处理可得 10 分。
- 数据集 2 无附加限制,正确解决可得 150 分。
本翻译由 AI 自动生成
输入解题思路,AI测评打分。不知道怎么写?