平面设计案例网站wordpress cms布局
news/
2025/9/24 7:36:07/
文章来源:
平面设计案例网站,wordpress cms布局,做网站及APP,云服务器上放多个网站正题
评测记录:https://www.luogu.org/recordnew/lists?uid52918pidP3435 大意
一个字符串#xff0c;对于每个前缀#xff0c;求复制一份放在末尾可以覆盖整个前缀的前缀#xff0c;求所有的长度和。 解题思路
这道题如果暴力的话很简单#xff0c;对于每个前缀每…正题
评测记录:https://www.luogu.org/recordnew/lists?uid52918pidP3435 大意
一个字符串对于每个前缀求复制一份放在末尾可以覆盖整个前缀的前缀求所有的长度和。 解题思路
这道题如果暴力的话很简单对于每个前缀每次往前跳如果不可以覆盖了就下一个。 但是这样会被卡成O(n2)O(n2)O(n^2) 所有我们可以加一个优化我们找一个最短的然后总长度减去最短的就是最长的。我们就可以每次改变next的值让他直接指向最短的然后就可以O(n)O(n)O(n)解决问题 code
#includecstdio
using namespace std;
int n,next[1000011];
char s[1000011];
long long ans;
int main()
{scanf(%d,n);scanf(%s,s);for(int i1,j0;in;i){while(j(s[i]!s[j])) jnext[j];j(s[i]s[j]);next[i1]j;}//匹配指针int j;for(int i1;in;i){ji;while(next[j]) jnext[j];//跳转if(next[i]!0)next[i]j;//记忆化ansi-j;//统计答案}printf(%lld,ans);
}
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/915218.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!