题目名称 | 1710. [POJ2406]字符串的幂 |
---|---|
输入输出 | powerstrings.in/out |
难度等级 | ★☆ |
时间限制 | 3000 ms (3 s) |
内存限制 | 256 MiB |
测试数据 | 10 |
题目来源 | cstdio 于2014-09-23加入 |
开放分组 | 全部用户 |
提交状态 | |
分类标签 | |
分享题解 |
通过:82, 提交:205, 通过率:40% | ||||
HZOI_蒟蒻一只 | 100 | 0.074 s | 3.05 MiB | C++ |
Hallmeow | 100 | 0.082 s | 5.39 MiB | C++ |
kito | 100 | 0.130 s | 5.05 MiB | C++ |
哒哒哒哒哒! | 100 | 0.130 s | 5.08 MiB | C++ |
szzy | 100 | 0.138 s | 5.05 MiB | C++ |
哒哒哒哒哒! | 100 | 0.138 s | 5.08 MiB | C++ |
Hallmeow | 100 | 0.138 s | 8.98 MiB | C++ |
_Itachi | 100 | 0.139 s | 3.04 MiB | C++ |
神利·代目 | 100 | 0.140 s | 3.03 MiB | C++ |
Go灬Fire | 100 | 0.144 s | 5.08 MiB | C++ |
关于 字符串的幂 的近10条评论(全部评论) | ||||
---|---|---|---|---|
丫的不打主函数就是快
| ||||
周期=串长-border
| ||||
%%%%%%%%%%%%%%
| ||||
可以证明,当且仅当len%(len-next[len])==0时,str[next[len]~len-1]为最小循环节
| ||||
找重复周期?
Hakurou!
2016-07-13 14:02
5楼
| ||||
额。。。。貌似找了个周期
| ||||
getline()用不了,所以直接 >>
wolf
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以避免超时。