在这片梦想之地,不堪回首的过去像泡沫一样散去,不愿面对的明天也|

PassName

园龄:3年1个月粉丝:32关注:16

Lyndon 分解

介绍

【模板】Lyndon 分解

#include<cstdio>
#include<cstring>
char s[5000005];
int main(){
	scanf("%s",s+1);
	int len=strlen(s+1);
	int i,j,k,ans=0;
	i=1;
	while(i<=len)
	{
		for(j=i,k=i+1;k<=len && s[k]>=s[j];++k)
			if(s[k]>s[j])	j=i;
			else	++j;
		while(i<=j)	ans^=(i+k-j-1),i+=k-j;
	}
	printf("%d",ans);
	return 0;
}

本文作者:PassName

本文链接:https://www.cnblogs.com/spaceswalker/p/16222647.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   PassName  阅读(36)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起