QOJ.ac

QOJ

Time Limit: 2.0 s Memory Limit: 512 MB Total points: 100 Hackable ✓

#9362. 摺疊

Statistics

我哋定義一種對字串嘅操作,叫做「摺疊」。一次摺疊包括若干次(可以係零次)摺痕操作。每次都喺兩個相鄰字母之間摺起,將字串後半部分(離開頭較遠嗰部分)放喺前半部分(離開頭較近嗰部分)上面,方向相反,並且喺摺痕位置對齊。做完之後,字串會變成一個結構,層數比摺痕操作嘅次數多一層。

摺疊之後,可以將字串睇成幾疊字母。如果同一疊入面所有字母都一樣,我哋就話呢個摺疊有效。

摺疊嘅「對應集合」,係原字串入面緊接喺每條摺痕之前嗰個字母嘅位置集合。例如,喺第2同第3個字母之間摺一次,對應集合就係 $\{2\}$;冇摺過嘅對應集合就係空集。兩個摺疊相同,當且僅當佢哋嘅對應集合相同。

如果可以揀整數 $a$ 同 $b$($0\le b<a$),令 $x\in S\iff 1\le x<n,\ x\equiv b\pmod a$,集合 $S$ 就叫做等差集合,其中 $n$ 係字串長度。例如,當 $n=10$,$\varnothing$、$\{2\}$、$\{1,9\}$、$\{2,4,6,8\}$ 都係等差集合,但 $\{1,2,4\}$、$\{1,5\}$、$\{7,8,9\}$ 就唔係。

如果一個摺疊有效,而且對應集合係等差集合,我哋就話佢係「超正摺疊」。可以睇下一頁嘅圖嚟理解。

畀你一個字串,計算佢有幾多種超正摺疊。

輸入格式

唯一一行包含一個由拉丁字母、數字、底線或者連字號組成嘅字串,長度為 $n$($1\le n\le 10^6$)。

輸出格式

輸出一個整數,表示呢個字串嘅超正摺疊數量。

樣例

輸入格式 1

aaaaa

輸出格式 1

9

輸入格式 2

V-oo-V

輸出格式 2

2

輸入格式 3

gritukan

輸出格式 3

1

輸入格式 4

Lhic

輸出格式 4

1

輸入格式 5

OO0OOO00O0OOOO0O00OOO0OO

輸出格式 5

6

輸入格式 6

SpyCheessee

輸出格式 6

3

輸入格式 7

Aa

輸出格式 7

1

輸入格式 8

228322

輸出格式 8

4

輸入格式 9

______________________________________

輸出格式 9

380

說明

第一個樣例入面,超正摺疊嘅對應集合係 $\varnothing$、$\{1\}$、$\{2\}$、$\{3\}$、$\{4\}$、$\{1,3\}$、$\{1,4\}$、$\{2,4\}$ 同 $\{1,2,3,4\}$。

problem_9362_2a4d8855625efbcedffc39f105f3190a.png

呢個係字串 `aabccbaa` 嘅超正摺疊,對應集合係 $\{1,4,7\}$。

problem_9362_3c0be8324500032a165dd2a913900738.png

呢個係字串 `abc` 嘅超正摺疊,對應集合係 $\varnothing$。

problem_9362_dc18d676f99e71fc98c1b93715d34ee3.png

呢個唔係有效摺疊,但佢確實係一個摺疊,而且對應集合係等差集合。對應集合係 $\{2,6,10\}$。

problem_9362_114c4dbd23e7192e22c0fe67d18362c8.png

呢個唔係摺疊,因為上面部分同下面部分嘅方向一樣。

problem_9362_b713188277d48afc4c309378ffe5772f.png

呢個唔係摺疊,因為上面部分要唔係方向一樣(如果當佢向右行),要唔係冇對齊(如果當佢向左行)。

problem_9362_a9af82bb4697f512eeca82e6145a641c.png

呢個係有效摺疊,但佢嘅對應集合唔係等差集合。對應集合係 $\{4,6\}$。

TeX 就係咁樣整嘅。

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.