QOJ.ac

QOJ

Time Limit: 1.0 s Memory Limit: 256 MB Total points: 100 Hackable ✓

#16008. Identical Fences

الإحصائيات

建筑工矮人最近转行成了栅栏建造师。他所有的新任务都归结为一件事:建造符合特定审美要求的栅栏。听起来很简单……

建造师最近的任务是在街道的两侧各建造一个栅栏。栅栏由两种类型的木桩组成:黑色和红色。这一次,审美要求很简单:两个栅栏必须完全相同。

然而,正如建筑工地上常有的情况,出现了一些问题。栅栏的木桩会一个接一个地到达工地,其顺序建造师预先已知。对于每一个木桩,建造师必须立即做出两个决定之一:将其安装在其中一个栅栏的(右)端,或者如果它不符合计划,则将其丢弃。

建造师知道木桩是完全随机装载到卡车上的:每一个木桩是黑色或红色的概率相等。他知道木桩到达工地的顺序,但现在他面临另一个挑战。施工经理允许他拒绝一些木桩,但这个数量不能超过所有交付木桩总数的 16%。

看来建造师面临着一项艰巨的任务。你能帮帮他吗?

输入格式

输入的第一行包含一个整数 $N$,表示将到达工地的木桩数量。

第二行包含一个长度为 $N$ 的字符串,由字符 0 和 1 组成,分别代表将到达工地的木桩颜色(红色和黑色)。

输出格式

第一行输出应包含一个整数 $K$,表示组成每个栅栏的木桩数量。

第二行应包含组成第一个栅栏的木桩的后续索引。

第三行应包含组成第二个栅栏的木桩的后续索引。

每个栅栏的描述应使用 0-索引编号,并按升序排列。

在每个测试中,丢弃的木桩数量不得超过 16%。

数据范围

在所有测试中,$N = 100\,000$,且木桩的颜色是独立随机选择的。

样例

输入 1

13
0110101001011

输出 1

6
5 6 8 9 10 12
0 2 3 4 7 11

说明

注意:上述示例不满足 $N = 100\,000$ 的条件,因此你不必通过该示例。评测系统中的样例满足所有题目条件。

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.