| 题目名称 | 1710. [POJ2406]字符串的幂 |
|---|---|
| 输入输出 | powerstrings.in/out |
| 难度等级 | ★☆ |
| 时间限制 | 3000 ms (3 s) |
| 内存限制 | 256 MiB |
| 测试数据 | 10 |
| 题目来源 |
|
| 开放分组 | 全部用户 |
| 提交状态 | |
| 分类标签 | |
| 分享题解 |
| 通过:82, 提交:205, 通过率:40% | ||||
|
|
100 | 0.074 s | 3.05 MiB | C++ |
|
|
100 | 0.082 s | 5.39 MiB | C++ |
|
|
100 | 0.130 s | 5.05 MiB | C++ |
|
|
100 | 0.130 s | 5.08 MiB | C++ |
|
|
100 | 0.138 s | 5.05 MiB | C++ |
|
|
100 | 0.138 s | 5.08 MiB | C++ |
|
|
100 | 0.138 s | 8.98 MiB | C++ |
|
|
100 | 0.139 s | 3.04 MiB | C++ |
|
|
100 | 0.140 s | 3.03 MiB | C++ |
|
|
100 | 0.144 s | 5.08 MiB | C++ |
| 关于 字符串的幂 的近10条评论(全部评论) | ||||
|---|---|---|---|---|
|
丫的不打主函数就是快
| ||||
|
周期=串长-border
| ||||
|
%%%%%%%%%%%%%%
| ||||
|
可以证明,当且仅当len%(len-next[len])==0时,str[next[len]~len-1]为最小循环节
| ||||
|
找重复周期?
2016-07-13 14:02
5楼
| ||||
|
额。。。。貌似找了个周期
| ||||
|
getline()用不了,所以直接 >>
2014-10-26 00:19
3楼
| ||||
|
我就不理解了为什么while (cin.getline(s,MAXN))就不对,while(scanf("%s",s)!=EOF)就对??!
| ||||
|
有一个利用next数组的巧妙算法……还可以用后缀数组做,貌似有人说后缀数组在POJ上会超时?
| ||||
对于给定的两个字符串a,b,我们定义a*b是将把它们连接在一起形成的字符串。例如,若a="abc",b="def",则a*b="abcdef"。如果我们将这种运算视为乘法,则非负整数的乘方运算被以类似的方式定义:a^0=""(空字符串),a^(n+1)=a*(a^n)。
输入包含多组数据。
每组数据有一行一个大写字母组成的字符串s,其长度至少为1,至多为10^6.输入结束标志为一行一个“.”(半角句号)。
输出使得存在某个a,使得a^n=s的最大n。
ABCD AAAA ABABAB .
1 4 3
输入文件可能很大,请使用scanf代替cin以避免超时。