QOJ.ac

QOJ

Limite de temps : 10.0 s Limite de mémoire : 1024 MB Points totaux : 10

#17398. 专业版 2 [B]

Statistiques

Jasiu 喜欢和朋友们玩跳房子游戏。他们决定对游戏规则进行一些改进。起初,人行道上画了 $N$ 个方格,一个接一个地排列。方格从左到右依次编号为 $1$ 及以上。某些方格上放有单个鹅卵石。每个玩家选择一个起始方格,以及一个大于 $1$ 的整数 $K$。然后,从选定的方格开始,每次跳过 $K$ 个方格,直到跳出第 $N$ 个方格为止。玩家的得分等于跳跃过程中所经过的带有鹅卵石的方格数量。现在轮到 Jasiu 了,他非常想获得尽可能多的分数。已知鹅卵石的位置,请计算他能获得的最大分数。

输入格式

第一行包含一个整数 $N$ ($1 \le N \le 10^6$),表示方格的数量。第二行包含一个长度为 $N$ 的字符串,由字符 . 和/或 # 组成。如果第 $i$ 个字符是 #,则表示第 $i$ 号方格上有一个鹅卵石,否则该方格为空。

输出格式

第一行(也是唯一一行)应包含一个整数,表示 Jasiu 可以获得的最大分数。

样例

输入格式 1

8
#..#...#

输出格式 1

2

输入格式 2

6
####..

输出格式 2

2

输入格式 3

9
#.#..#..#

输出格式 3

3

2014 年的初中生现在已成为参加算法竞赛的专业人士,我们期望他们能解决更具挑战性的任务。在我们的版本中,鹅卵石的布局不再是一成不变的——我们从一个拥有 $n$ 个方格的空人行道开始,孩子们在游戏过程中会不断添加或移除鹅卵石。在人行道上的每一次变动后,Jasiu 都想知道他能获得的最大游戏分数是多少。

输入格式

第一行包含两个整数 $n$ 和 $q$ ($1 \le n \le 10\,000\,000, 1 \le q \le 1\,000\,000$),分别表示人行道上的方格数量和需要考虑的事件数量。

接下来的 $q$ 行包含事件描述;第 $i$ 行包含一个整数 $a_i$ ($1 \le a_i \le n$),表示第 $i$ 个事件是在方格 $a_i$ 上添加一个鹅卵石(如果那里还没有鹅卵石)或从方格 $a_i$ 上移除一个鹅卵石(如果那里有鹅卵石)。

输出格式

输出应包含恰好 $q$ 行;第 $i$ 行应包含一个整数,表示在第 $i$ 个事件发生后 Jasiu 可以获得的最大分数。

样例

输入格式 1

9 10
1
4
8
2
3
8
6
9
2
4

输出格式 1

1
2
2
3
3
2
3
3
3
3

说明

样例说明:在前三次事件之后,我们得到了原始任务中的第一种(左侧)情况(多了一个第九个方格,它是空的,因此不影响得分)。在接下来的三次事件之后,我们得到了第二种(中间)情况,最后得到了第三种(右侧)情况。

Editorials

IDTypeStatusTitlePosted ByLast UpdatedActions
#1477EditorialOpenNew Editorial for Problem #17398NuclearPasta2026-04-08 17:51:05View

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.